首页/数据/数据库速查/SETEX / PSETEX 设置带过期的值
Redis 命令96 条

SETEX / PSETEX 设置带过期的值

设置值的同时指定秒/毫秒级过期:SETEX key seconds value、PSETEX key milliseconds value;等价于 SET key value EX/PX,历史 API 仍在广泛使用。

数据库速查数据更新于 2026-10-12

示例

示例
SETEX code:13800000000 300 654321    # 5 分钟有效
TTL code:13800000000                 # 300(近似)
PSETEX flashsale:88 500 stock=10     # 500 毫秒
PTTL flashsale:88                    # <=500
SETEX秒级过期
PSETEX毫秒级过期
原子性设置与过期一条命令完成
过期时间为 0 或负数会直接报错(invalid expire time);计算出的秒数先做兜底,别把 0 传进去。

易错点

  • 把 SETEX 的过期写成 0:直接报错,业务没做兜底就中断
  • 用 SETEX 存长周期缓存又忘记续期策略,热点失效瞬间打穿数据库

数据来源与参考

  • Redis 官方文档: SETEX
  • Redis 官方文档: PSETEX

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌