EXPIREAT
EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
- Available since:
- 1.2.0
- Time complexity:
- O(1)
- ACL categories:
-
@keyspace
,@write
,@fast
,
EXPIREAT
has the same effect and semantic as EXPIRE
, but instead of
specifying the number of seconds representing the TTL (time to live), it takes
an absolute Unix timestamp (seconds since January 1, 1970). A
timestamp in the past will delete the key immediately.
Please for the specific semantics of the command refer to the documentation of
EXPIRE
.
Background
EXPIREAT
was introduced in order to convert relative timeouts to absolute
timeouts for the AOF persistence mode.
Of course, it can be used directly to specify that a given key should expire at
a given time in the future.
Options
The EXPIREAT
command supports a set of options:
NX
-- Set expiry only when the key has no expiryXX
-- Set expiry only when the key has an existing expiryGT
-- Set expiry only when the new expiry is greater than current oneLT
-- Set expiry only when the new expiry is less than current one
A non-volatile key is treated as an infinite TTL for the purpose of GT
and LT
.
The GT
, LT
and NX
options are mutually exclusive.
Examples
RESP2/RESP3 Reply
One of the following:
- Integer reply:
0
if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments. - Integer reply:
1
if the timeout was set.
History
- Starting with Redis version 7.0.0: Added options:
NX
,XX
,GT
andLT
.