Upstash Documentation

HTTL

Get field TTL in seconds.
2 min read

Use HTTL to read how much longer hash fields will live, in seconds.

The reply holds one value per requested field, in order: the remaining lifetime, -1 when the field exists but has no expiration, and -2 when the field or the key does not exist, so a missing field is never confused with a permanent one. Use HPTTL for millisecond precision and HEXPIRETIME when you want the absolute deadline instead of the time left.

Syntax#

Arguments#

ArgumentRequiredRepeatableDescription
<key>YesNoRedis key targeted by the command.
FIELDS <numfields> <field> [<field> ...]YesNoFields to target. Give the field count first, then that many field names.

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.

ProtocolReply
RESP2Array of TTL values or negative integer status codes, one per field
RESP3Array of TTL values or negative integer status codes, one per field
Note

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
upstash_redis
ioredis
node-redis
redis-py
go-redis
jedis
redis-rs