HEXPIREAT 的效果和语义与 HEXPIRE 相同,但不是指定 TTL(存活时间)的秒数,而是采用自 Unix 纪元以来的绝对 Unix 时间戳,以秒为单位。过去的时间戳将立即删除该字段。
有关该命令的具体语义,请参见 HEXPIRE。
*选项
HEXPIREAT 命令支持一组选项:
NX-- 对于每个指定字段,仅当字段没有过期时间时才设置过期时间。XX-- 对于每个指定字段,仅当字段具有现有过期时间时才设置过期时间。GT-- 对于每个指定字段,仅当新过期时间大于当前过期时间时才设置过期时间。LT-- 对于每个指定字段,仅当新过期时间小于当前过期时间时才设置过期时间。
对于 GT 和 LT,非易失性键被视为无限 TTL。
NS、XX、GT 和 LT 选项互斥。
*示例
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