HDEL în Redis & In-Memory Data Store

Șterge unul sau mai multe câmpuri dintr-un hash; când ultimul câmp dispare, dispare și cheia.

Sintaxă comandă
HDEL key field [field ...]

Ce face HDEL

HDEL elimină câmpurile date din hash și întoarce câte au fost șterse. Câmpurile care nu existau sunt ignorate. Din Redis 2.4.0 acceptă mai multe câmpuri deodată.

Dacă ștergi toate câmpurile, Redis șterge și cheia: un hash gol nu există în Redis.

Parametri

Parametru Descriere
key Cheia hash-ului.
field ... Câmpurile de șters.

Ce returnează

Un (integer): numărul de câmpuri șterse efectiv.

Exemple

Exemplul 1: Eliminarea datelor temporare dintr-un profil

Câmpul cod_sms nu exista, deci se numără doar token.

HSET utilizator:7 nume Ana token abc123
HDEL utilizator:7 token cod_sms
HDEL utilizator:7 nume
EXISTS utilizator:7

Ieșire în redis-cli

127.0.0.1:6379> HSET utilizator:7 nume Ana token abc123
(integer) 2
127.0.0.1:6379> HDEL utilizator:7 token cod_sms
(integer) 1
127.0.0.1:6379> HDEL utilizator:7 nume
(integer) 1
127.0.0.1:6379> EXISTS utilizator:7
(integer) 0

Greșeli frecvente

  • Ca să ștergi tot hash-ul, folosește DEL sau UNLINK pe cheie, nu HDEL pe fiecare câmp.
  • HDEL fără niciun câmp dă eroare de număr greșit de argumente.

Comenzi înrudite

  • HSET: Scrie unul sau mai multe câmpuri într-un hash (un obiect cu perechi câmp–valoare), creând hash-ul dacă lipsește.
  • HEXISTS: Verifică dacă un câmp există într-un hash; întoarce 1 sau 0.
  • DEL / UNLINK: Șterge una sau mai multe chei; UNLINK eliberează memoria în fundal, fără să blocheze serverul.