首页/数据/Redis 进阶速查/EXPIRE 家族与选项:NX/XX/GT/LT
内存与管理99 条

EXPIRE 家族与选项:NX/XX/GT/LT

EXPIRE/PEXPIRE/EXPIREAT/PEXPIREAT 覆盖秒与毫秒、相对与绝对四种组合;7.0 起支持 NX/XX/GT/LT 选项控制只在无 TTL、已有 TTL、更长、更短时生效。

Redis 进阶速查数据更新于 2026-10-12
命令族EXPIRE / PEXPIRE / EXPIREAT / PEXPIREAT
选项NX、XX、GT、LT(7.0 及以上)
读取与修改TTL / PTTL / PERSIST / GETEX

示例

示例
redis-cli EXPIRE session:abc 1800
redis-cli EXPIRE lock:k 30 NX      # 没有 TTL 才设置
redis-cli EXPIRE cache:k 600 GT    # 仅当新 TTL 更长
redis-cli PERSIST cache:k          # 移除过期时间
redis-cli GETEX cache:k EX 300     # 读取并顺带改 TTL
EXPIREAT 用 Unix 时间戳(秒);跨实例调度统一用绝对时间更稳。

易错点

  • GETEX 会同时读取并刷新 TTL,误用在共享缓存上会让热点键永不过期
  • SET 会清掉原有 TTL,覆盖写缓存时记得重新判断是否需要 EX 参数

数据来源与参考

  • Redis 官方文档:EXPIRE / EXPIREAT / GETEX / PERSIST 命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌