EXPIREAT
语法
EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
- 可用版本
- Redis Open Source 1.2.0
- 时间复杂度
- O(1)
- ACL 类别
-
@keyspace
,@write
,@fast
,
EXPIREAT
的效果和语义与 EXPIRE
相同,但它不是指定代表 TTL(生存时间)的秒数,而是接受一个绝对的 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。过去的 Unix 时间戳会立即删除键。
请参考 EXPIRE
的文档,了解此命令的具体语义。
背景
引入 EXPIREAT
是为了将 AOF 持久化模式下的相对超时转换为绝对超时。当然,它也可以直接用于指定给定键应在将来某个时间过期。
选项
EXPIREAT
命令支持一组选项
NX
-- 仅在键没有过期时间时设置过期时间XX
-- 仅在键已有过期时间时设置过期时间GT
-- 仅在新的过期时间大于当前过期时间时设置过期时间LT
-- 仅在新的过期时间小于当前过期时间时设置过期时间
对于 GT
和 LT
选项,非易失性键被视为无限 TTL。GT
、LT
和 NX
选项是互斥的。
示例
RESP2/RESP3 回复
以下之一
历史
- 从 Redis 7.0.0 版本开始:添加了选项:
NX
、XX
、GT
和LT
。