Sets the expiration time of a key to a Unix timestamp.
EXPIREAT
key
unix-time-seconds [NX
|
XX
| GT
|
LT
]
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
.
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.
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 oneA 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.
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.
O(1)
@fast @keyspace @write
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
NX
, XX
,
GT
and LT
.COPY, DEL, DUMP, EXISTS, EXPIRE, EXPIRETIME, KEYS, MIGRATE, MOVE, OBJECT, OBJECT ENCODING, OBJECT FREQ, OBJECT HELP, OBJECT IDLETIME, OBJECT REFCOUNT, PERSIST, PEXPIRE, PEXPIREAT, PEXPIRETIME, PTTL, RANDOMKEY, RENAME, RENAMENX, RESTORE, SCAN, SORT, SORT_RO, TOUCH, TTL, TYPE, UNLINK, WAIT, WAITAOF.