HPEXPIREAT
Syntax
HPEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
- Available since:
- 7.4.0
- Time complexity:
- O(N) where N is the number of specified fields
- ACL categories:
-
@write,@hash,@fast,
HPEXPIREAT 的效果和语义与 HEXPIREAT 相同,但字段将过期的 Unix 时间是以自 Unix 纪元以来的毫秒数指定的,而不是秒数。
选项
HPEXPIREAT 命令支持一组选项:
NX-- 对于每个指定的字段,仅在字段没有设置过期时间时设置过期时间。XX-- 对于每个指定的字段,仅当该字段已有过期时间时才设置过期时间。GT-- 对于每个指定的字段,仅当新过期时间大于当前过期时间时设置过期。LT-- 对于每个指定的字段,仅当新过期时间小于当前过期时间时设置过期。
非易失性键在GT和LT的用途中被视为无限TTL。
NX、XX、GT和LT选项是互斥的。
示例
redis> HSET mykey field1 "hello" field2 "world"
(integer 2)
redis> HPEXPIREAT mykey 1715704971000 FIELDS 2 field1 field2
1) (integer) 1
2) (integer) 1
redis> HPTTL mykey FIELDS 2 field1 field2
1) (integer) 303340
2) (integer) 303340
RESP2/RESP3 回复
以下之一:
- Array reply. 对于每个字段:
- Integer reply:
-2如果提供的哈希键中不存在该字段,或者提供的键不存在。 - Integer reply:
0如果指定的NX、XX、GT或LT条件未满足。 - Integer reply:
1如果设置了/更新了过期时间。 - Integer reply:
2当使用0秒或毫秒调用HEXPIRE或HPEXPIRE时,或者当使用过去的Unix时间(以秒或毫秒为单位)调用HEXPIREAT或HPEXPIREAT时。
- Integer reply:
- Simple error reply:
- 如果解析失败,缺少必需的参数,指定了未知的参数,或者参数值的类型错误或超出范围。
- 如果提供的键存在但不是哈希类型。