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,

EXPIREATEXPIRE 具有相同的效果和语义,但它不是指定表示TTL(生存时间)的秒数,而是采用一个绝对的 Unix时间戳(自1970年1月1日以来的秒数)。过去的时间戳将立即删除键。

请参考EXPIRE的文档以了解命令的具体语义。

背景

EXPIREAT 的引入是为了将相对超时转换为绝对超时,以便用于AOF持久化模式。 当然,它也可以直接用于指定某个键在未来的某个特定时间过期。

选项

EXPIREAT 命令支持一组选项:

  • NX -- 仅在键没有过期时设置过期时间
  • XX -- 仅在键已有过期时间时设置过期时间
  • GT -- 仅当新到期时间大于当前到期时间时设置到期时间
  • LT -- 仅当新到期时间小于当前到期时间时设置到期时间

出于GTLT的目的,非易失性键被视为无限TTL。 GTLTNX选项是互斥的。

示例

SET mykey "Hello" EXISTS mykey EXPIREAT mykey 1293840000 EXISTS mykey

RESP2/RESP3 回复

以下之一:

  • Integer reply: 0 如果未设置超时;例如,键不存在,或者由于提供的参数跳过了操作。
  • Integer reply: 1 如果超时已设置。

历史

  • 从Redis版本7.0.0开始:新增选项:NX, XX, GTLT
RATE THIS PAGE
Back to top ↑