PERSIST în Redis & In-Memory Data Store

Elimină expirarea unei chei, astfel încât aceasta să rămână permanent în Redis.

Sintaxă comandă
PERSIST key

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: un SET simplu 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.