Ce face PERSIST
PERSIST anulează termenul de expirare setat cu EXPIRE, SET ... EX sau altă comandă. După el, TTL întoarce -1.
Este util când o resursă temporară devine definitivă, de exemplu un coș de cumpărături care devine comandă.
Parametri
| Parametru | Descriere |
|---|---|
key |
Cheia căreia i se elimină expirarea. |
Ce returnează
1 dacă expirarea a fost eliminată, 0 dacă cheia nu există sau nu avea expirare.
Exemple
Exemplul 1: Transformarea unei chei temporare în permanentă
Al doilea PERSIST întoarce 0, pentru că nu mai e nicio expirare de eliminat.
SET comanda:1042 plasata EX 900
PERSIST comanda:1042
TTL comanda:1042
PERSIST comanda:1042
Ieșire în redis-cli
127.0.0.1:6379> SET comanda:1042 plasata EX 900
OK
127.0.0.1:6379> PERSIST comanda:1042
(integer) 1
127.0.0.1:6379> TTL comanda:1042
(integer) -1
127.0.0.1:6379> PERSIST comanda:1042
(integer) 0
Greșeli frecvente
- Cheile fără expirare nu sunt alese de politicile
volatile-*la evacuare: dacă ai multe chei permanente, memoria se poate umple. - Pentru a păstra o cheie permanentă la rescriere, nu e nevoie de
PERSIST: unSETsimplu elimină oricum expirarea.
Comenzi înrudite
EXPIRE / PEXPIRE: Setează după câte secunde (EXPIRE) sau milisecunde (PEXPIRE) se șterge automat o cheie.TTL / PTTL: 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ă.GETDEL / GETEX: GETDEL citește și șterge o cheie într-un singur pas; GETEX citește și schimbă expirarea cheii.