Use PEXPIRETIME to read the absolute time at which a key will expire, as a Unix timestamp in milliseconds.
The reply is -1 when the key exists but has no expiration and -2 when the key does not exist. It is the millisecond form of EXPIRETIME, and it reports a deadline rather than a remaining lifetime, which makes it the value to compare against a clock when you need to know exactly when something is due.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<key> | Yes | No | Redis key targeted by the command. |
Important points#
- Negative integer replies are sentinel values, not durations or timestamps; see the response description for missing or persistent data.
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Integer: expiration Unix time in milliseconds, -1 if the key has no expiration, -2 if the key does not exist |
| RESP3 | Integer: expiration Unix time in milliseconds, -1 if the key has no expiration, -2 if the key does not exist |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.
Redis CLI
@upstash/redis
This command is not supported yet in @upstash/redis.
upstash_redis
This command is not supported yet in upstash_redis.