PEXPIRE key milliseconds [NX | XX | GT | LT]
Available since:
Time complexity:
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.


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.


SET mykey "Hello" PEXPIRE mykey 1500 TTL mykey PTTL mykey PEXPIRE mykey 1000 XX TTL mykey PEXPIRE mykey 1000 NX TTL mykey


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.


  • Starting with Redis version 7.0.0: Added options: NX, XX, GT and LT.
Rate this page