TTL / PTTL în Redis & In-Memory Data Store

Arată cât timp mai are o cheie până expiră: în secunde (TTL) sau milisecunde (PTTL); -1 fără expirare, -2 dacă nu există.

Sintaxă comandă
TTL key
PTTL key
EXPIRETIME key

Ce face TTL / PTTL

TTL întoarce câte secunde mai are o cheie până la ștergerea automată. PTTL (din Redis 2.6.0) dă același răspuns în milisecunde.

Două valori speciale: -1 înseamnă că cheia există, dar nu are expirare, iar -2 că cheia nu există (din Redis 2.8.0). EXPIRETIME (Redis 7.0+) întoarce momentul Unix absolut al expirării, în secunde.

Parametri

Parametru Descriere
key Cheia verificată.

Ce returnează

Un (integer): timpul rămas (secunde sau milisecunde), -1 fără expirare sau -2 dacă cheia nu există.

Exemple

Exemplul 1: Cele trei cazuri posibile

Cheie cu expirare, cheie permanentă și cheie inexistentă.

SET oferta:black-friday activa EX 86400
TTL oferta:black-friday
SET setari:limba ro
TTL setari:limba
TTL oferta:craciun

Ieșire în redis-cli

127.0.0.1:6379> SET oferta:black-friday activa EX 86400
OK
127.0.0.1:6379> TTL oferta:black-friday
(integer) 86400
127.0.0.1:6379> SET setari:limba ro
OK
127.0.0.1:6379> TTL setari:limba
(integer) -1
127.0.0.1:6379> TTL oferta:craciun
(integer) -2

Exemplul 2: Precizie în milisecunde

PTTL este util pentru expirări scurte, de exemplu la limitarea numărului de cereri.

SET limita:ip:10.0.0.7 1 PX 1500
PTTL limita:ip:10.0.0.7
TTL limita:ip:10.0.0.7

Ieșire în redis-cli

127.0.0.1:6379> SET limita:ip:10.0.0.7 1 PX 1500
OK
127.0.0.1:6379> PTTL limita:ip:10.0.0.7
(integer) 1497
127.0.0.1:6379> TTL limita:ip:10.0.0.7
(integer) 1

Greșeli frecvente

  • Nu confunda -1 cu -2: -1 = cheia există și e permanentă, -2 = cheia lipsește.
  • Valoarea scade în timp real: între TTL și comanda următoare cheia poate expira.

Comenzi înrudite

  • EXPIRE / PEXPIRE: Setează după câte secunde (EXPIRE) sau milisecunde (PEXPIRE) se șterge automat o cheie.
  • PERSIST: Elimină expirarea unei chei, astfel încât aceasta să rămână permanent în Redis.
  • EXISTS: Verifică dacă una sau mai multe chei există și întoarce câte dintre ele au fost găsite.