EXPIREAT

EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
Available since:
Redis Open Source 1.2.0
Time complexity:
O(1)
ACL categories:
@keyspace, @write, @fast,
Compatibility:
Redis Software and Redis Cloud compatibility

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.

Required arguments

key

The name of the key.

unix-time-seconds

The absolute expiration time as a Unix timestamp in seconds. A timestamp in the past deletes the key immediately.

Optional arguments

These options are mutually exclusive.

NX

Set the expiry only when the key has no expiry.

XX

Set the expiry only when the key already has an expiry.

GT

Set the expiry only when the new expiry is greater than the current one. A non-volatile key is treated as an infinite TTL for the purpose of GT.

LT

Set the expiry only when the new expiry is less than the current one. A non-volatile key is treated as an infinite TTL for the purpose of LT.

Examples

SET mykey "Hello" EXISTS mykey EXPIREAT mykey 1293840000 EXISTS mykey

Details

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.

Redis Software and Redis Cloud compatibility

Redis
Software
Redis
Cloud
Notes
✅ Standard
✅ Active-Active
✅ Standard
✅ Active-Active

Return information

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 and LT.
RATE THIS PAGE
Back to top ↑