首页/数据/数据库速查/EXPIRE 过期设置与 NX/XX/GT/LT 条件
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

EXPIRE 过期设置与 NX/XX/GT/LT 条件

给键设置生存时间:EXPIRE 秒/PEXPIRE 毫秒/EXPIREAT 时间戳;7.0 起支持 NX/XX/GT/LT 条件,用于精细控制续期。

数据库速查数据更新于 2026-10-12
EXPIRE秒级 TTL
PEXPIRE毫秒级 TTL
EXPIREAT/PEXPIREAT绝对时间戳(秒/毫秒)
条件(7.0+)NX 无过期才设 / XX 仅有过期才设 / GT 大于当前才设 / LT 小于当前才设

示例

示例
SET session:u1 token
EXPIRE session:u1 3600          # 1
TTL session:u1                  # ~3600
EXPIRE session:u1 7200 XX       # 仅当已有过期时更新
EXPIRE session:u1 60 GT         # 仅当新 TTL 更大才更新(防缩短)
PEXPIREAT session:u1 1798761600000
EXPIRE 对不存在的键返回 0;给「已过期被删」的键设置过期不会复活它,业务要先确认键存在。

易错点

  • 续期用无条件 EXPIRE:可能把短 TTL 意外延长或缩短,用 GT/LT 精准控制
  • 对不存在的键 EXPIRE 返回 0 但不报错,逻辑分支要处理

数据来源与参考

  • Redis 官方文档: EXPIRE
  • Redis 官方文档: EXPIRE 条件选项

相关工具

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