- Usage:
-
EXPIREAT key unix-time-seconds [ NX | XX | GT | LT ]
- Complexity:
- O(1)
- Since:
- 1.2.0
- ACL Categories:
- @keyspace, @write, @fast
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-
Integer reply:
0if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments. -
Integer reply:
1if the timeout was set.
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:
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
127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> EXISTS mykey
(integer) 1
127.0.0.1:6379> EXPIREAT mykey 1293840000
(integer) 1
127.0.0.1:6379> EXISTS mykey
(integer) 0
RESP2/RESP3 Reply
One of the following:
History
| Version | Change |
|---|---|
| 7.0.0 | Added options: |