EXPIREAT

语法
EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
可用版本
1.2.0
时间复杂度
O(1)
ACL 类别
@keyspace, @write, @fast,

EXPIREATEXPIRE 的效果和语义相同,但它不指定以秒为单位的 TTL(生存时间),而是采用绝对 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。过去的 timestamp 会立即删除该键。

有关命令的具体语义,请参阅 EXPIRE 的文档。

背景

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

选项

EXPIREAT 命令支持一组选项

  • NX -- 仅当键没有过期时设置过期时间
  • XX -- 仅当键具有现有过期时间时设置过期时间
  • GT -- 仅当新的过期时间大于当前过期时间时设置过期时间
  • LT -- 仅当新的过期时间小于当前过期时间时设置过期时间

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

示例

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

RESP2/RESP3 响应

以下之一

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

历史

  • 从 Redis 7.0.0 版本开始:添加选项:NXXXGTLT
RATE THIS PAGE
Back to top ↑