content/commands/expireat.md
EXPIREAT has the same effect and semantic as [EXPIRE]({{< relref "/commands/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]({{< relref "/commands/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.
{{% redis-cli %}} SET mykey "Hello" EXISTS mykey EXPIREAT mykey 1293840000 EXISTS mykey {{% /redis-cli %}}
| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | |
{{< multitabs id="expireat-return-info" tab1="RESP2" tab2="RESP3" >}}
One of the following:
0 if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.1 if the timeout was set.-tab-sep-
One of the following:
0 if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.1 if the timeout was set.{{< /multitabs >}}