HEXPIREAT 的效果和语义与 HEXPIRE 相同,但不是指定 TTL(存活时间)的秒数,而是采用自 Unix 纪元以来的绝对 Unix 时间戳,以秒为单位。过去的时间戳将立即删除该字段。

有关该命令的具体语义,请参见 HEXPIRE

*选项

HEXPIREAT 命令支持一组选项:

  • NX -- 对于每个指定字段,仅当字段没有过期时间时才设置过期时间。
  • XX -- 对于每个指定字段,仅当字段具有现有过期时间时才设置过期时间。
  • GT -- 对于每个指定字段,仅当新过期时间大于当前过期时间时才设置过期时间。
  • LT -- 对于每个指定字段,仅当新过期时间小于当前过期时间时才设置过期时间。

对于 GTLT,非易失性键被视为无限 TTL。 NSXXGTLT 选项互斥。

*示例

redis> HSET mykey field1 "hello" field2 "world"
(integer) 2
redis> HEXPIREAT mykey 1715704971 FIELDS 2 field1 field2
1) (integer) 1
2) (integer) 1
redis> HTTL mykey FIELDS 2 field1 field2
1) (integer) 567
2) (integer) 567

*返回信息