HPEXPIRE
Syntax
HPEXPIRE key 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,
This command works like HEXPIRE, but the expiration of a field is
specified in milliseconds instead of seconds.
Options
The HPEXPIRE 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> HPEXPIRE mykey 2000 FIELDS 2 field1 field2
1) (integer) 1
2) (integer) 1
redis> HGETALL mykey
(empty array)
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.