*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)