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
-1cu-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.