HPEXPIREAT
Syntax
HPEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
- Available since:
- Redis Open Source 7.4.0
- Time complexity:
- O(N) where N is the number of specified fields
- ACL categories:
-
@write,@hash,@fast,
HPEXPIREAT has the same effect and semantics as HEXPIREAT, but the Unix time at
which the field will expire is specified in milliseconds since Unix epoch instead of seconds.
Options
The HPEXPIREAT command supports a set of options:
NX-- For each specified field, set expiration only when the field has no expiration.XX-- For each specified field, set expiration only when the field has an existing expiration.GT-- For each specified field, set expiration only when the new expiration is greater than current one.LT-- For each specified field, set expiration only when the new expiration is less than current one.
A non-volatile key is treated as an infinite TTL for the purposes of GT and LT.
The NX, XX, GT, and LT options are mutually exclusive.
Example
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
Return information
One of the following:
- Array reply. For each field:
- Integer reply:
-2if no such field exists in the provided hash key, or the provided key does not exist. - Integer reply:
0if the specified NX, XX, GT, or LT condition has not been met. - Integer reply:
1if the expiration time was set/updated. - Integer reply:
2whenHEXPIREorHPEXPIREis called with 0 seconds or milliseconds, or whenHEXPIREATorHPEXPIREATis called with a past Unix time in seconds or milliseconds.
- Integer reply:
- Simple error reply:
- if parsing failed, mandatory arguments are missing, unknown arguments are specified, or argument values are of the wrong type or out of range.
- if the provided key exists but is not a hash.