PEXPIRE

Syntax
PEXPIRE key milliseconds [NX | XX | GT | LT]
Available since:
2.6.0
Time complexity:
O(1)
ACL categories:
@keyspace, @write, @fast,

This command works exactly like EXPIRE but the time to live of the key is specified in milliseconds instead of seconds.

Options

The PEXPIRE command supports a set of options since Redis 7.0:

  • NX -- Set expiry only when the key has no expiry
  • XX -- Set expiry only when the key has an existing expiry
  • GT -- Set expiry only when the new expiry is greater than current one
  • LT -- 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

redis> SET mykey "Hello"
(integer) 1
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
1) "field1"
2) "Hello"
3) "field2"
4) "World"
redis> SET mykey "Hello"
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> PEXPIRE mykey 1500
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> TTL mykey
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> PTTL mykey
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> PEXPIRE mykey 1000 XX
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> TTL mykey
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> PEXPIRE mykey 1000 NX
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis> TTL mykey
Cannot destructure property 'error' of 'replies[i]' as it is undefined.
redis>

RESP2/RESP3 Reply

One of the following:

  • Integer reply: 0if the timeout was not set. For example, if the key doesn't exist, or the operation 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 ↑