What's new in Valkey 9.0? Discover new features and improvements. Read the announcement.

PEXPIRE

Sets the expiration time of a key in milliseconds.

Usage
PEXPIRE key milliseconds [condition]
Complexity
O(1)
Since
2.6.0
ACL Categories
@fast, @keyspace, @write
Command flags
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

  • 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

127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> PEXPIRE mykey 1500
(integer) 1
127.0.0.1:6379> TTL mykey
(integer) 1
127.0.0.1:6379> PTTL mykey
(integer) 1480
127.0.0.1:6379> PEXPIRE mykey 1000 XX
(integer) 1
127.0.0.1:6379> TTL mykey
(integer) 1
127.0.0.1:6379> PEXPIRE mykey 1000 NX
(integer) 0
127.0.0.1:6379> TTL mykey
(integer) 1

Replies

RESP2

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.

RESP3

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

  • 7.0.0: Added options: `NX`, `XX`, `GT` and `LT`.