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 -- 对于每个指定的字段,仅当新过期时间小于当前过期时间时设置过期。

非易失性键在GTLT的用途中被视为无限TTL。 NXXXGTLT选项是互斥的。

示例

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秒或毫秒调用HEXPIREHPEXPIRE时,或者当使用过去的Unix时间(以秒或毫秒为单位)调用HEXPIREATHPEXPIREAT时。
  • Simple error reply:
    • 如果解析失败,缺少必需的参数,指定了未知的参数,或者参数值的类型错误或超出范围。
    • 如果提供的键存在但不是哈希类型。

RATE THIS PAGE
Back to top ↑