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。