EXPIREAT
Syntax
EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
- Available since:
- 1.2.0
- Time complexity:
- O(1)
- ACL categories:
-
@keyspace
,@write
,@fast
,
EXPIREAT
与 EXPIRE
具有相同的效果和语义,但它不是指定表示TTL(生存时间)的秒数,而是采用一个绝对的 Unix时间戳(自1970年1月1日以来的秒数)。过去的时间戳将立即删除键。
请参考EXPIRE
的文档以了解命令的具体语义。
背景
EXPIREAT
的引入是为了将相对超时转换为绝对超时,以便用于AOF持久化模式。
当然,它也可以直接用于指定某个键在未来的某个特定时间过期。
选项
EXPIREAT
命令支持一组选项:
NX
-- 仅在键没有过期时设置过期时间XX
-- 仅在键已有过期时间时设置过期时间GT
-- 仅当新到期时间大于当前到期时间时设置到期时间LT
-- 仅当新到期时间小于当前到期时间时设置到期时间
出于GT
和LT
的目的,非易失性键被视为无限TTL。
GT
、LT
和NX
选项是互斥的。
示例
RESP2/RESP3 回复
以下之一:
- Integer reply:
0
如果未设置超时;例如,键不存在,或者由于提供的参数跳过了操作。 - Integer reply:
1
如果超时已设置。
历史
- 从Redis版本7.0.0开始:新增选项:
NX
,XX
,GT
和LT
。