*Redis EXPIRE 命令 设置 key 的过期时间(秒)

*EXPIRE

*语法

EXPIRE key seconds [NX | XX | GT | LT]

*说明

为指定的 key 设置生存时间(TTL),当 seconds 秒后,key 将自动被删除。

从 Redis 7.0 开始支持条件选项:

  • NX:仅当 key 没有过期时间时才设置
  • XX:仅当 key 已有过期时间时才更新
  • GT:仅当新的过期时间大于当前剩余时间时才更新
  • LT:仅当新的过期时间小于当前剩余时间时才更新

注意:如果 key 已经有过期时间,EXPIRE 会替换旧的过期时间。

*示例

# 设置 key 的值为 "Hello"
redis-cli SET mykey "Hello"

# 设置 10 秒后过期
redis-cli EXPIRE mykey 10

# 检查剩余生存时间
redis-cli TTL mykey

# 仅当 key 没有过期时间时才设置(NX 选项)
redis-cli EXPIRE mykey 60 NX

# 仅当新的过期时间大于当前值时才更新(GT 选项)
redis-cli EXPIRE mykey 120 GT

*返回值

  • 1:过期时间设置成功
  • 0:key 不存在或条件未满足(NX/XX/GT/LT)

*版本兼容性

版本 说明
>= 1.0.0 可用
>= 7.0.0 支持 NX、XX、GT、LT 选项

*时间复杂度

O(1)