Ce face HSET
Un hash în Redis seamănă cu un obiect sau un rând de tabel: o cheie (utilizator:7) cu mai multe câmpuri (nume, oras, varsta). HSET scrie câmpurile date; câmpurile existente sunt actualizate, iar cele noi sunt adăugate.
Din Redis 4.0.0, HSET acceptă mai multe perechi deodată, așa că vechea comandă HMSET este considerată depreciată. HSETNX scrie un câmp doar dacă acesta nu există.
Parametri
| Parametru | Descriere |
|---|---|
key |
Cheia hash-ului. |
field value ... |
Perechile câmp–valoare de scris. |
Ce returnează
Un (integer): câte câmpuri NOI au fost adăugate (câmpurile actualizate nu se numără).
Exemple
Exemplul 1: Profilul unui utilizator
Prima comandă adaugă trei câmpuri. A doua actualizează oras și adaugă telefon, deci întoarce 1.
HSET utilizator:7 nume Ana oras Iasi varsta 31
HSET utilizator:7 oras Cluj telefon 0722000111
HGET utilizator:7 oras
Ieșire în redis-cli
127.0.0.1:6379> HSET utilizator:7 nume Ana oras Iasi varsta 31
(integer) 3
127.0.0.1:6379> HSET utilizator:7 oras Cluj telefon 0722000111
(integer) 1
127.0.0.1:6379> HGET utilizator:7 oras
"Cluj"
Exemplul 2: HSETNX: doar dacă lipsește câmpul
Data înregistrării se scrie o singură dată.
HSETNX utilizator:7 inregistrat 2026-10-25
HSETNX utilizator:7 inregistrat 2026-11-01
Ieșire în redis-cli
127.0.0.1:6379> HSETNX utilizator:7 inregistrat 2026-10-25
(integer) 1
127.0.0.1:6379> HSETNX utilizator:7 inregistrat 2026-11-01
(integer) 0
Greșeli frecvente
- Rezultatul 0 nu înseamnă eșec: câmpurile au fost actualizate, doar că nu era niciunul nou.
HSETpe o cheie care conține alt tip (de exemplu string) dă eroareaWRONGTYPE.- Toate valorile sunt string-uri:
varsta 31se salvează ca textul „31” (darHINCRBYîl poate crește).
Comenzi înrudite
HGET: Citește valoarea unui singur câmp dintr-un hash; întoarce nil dacă câmpul sau cheia lipsesc.HGETALL / HKEYS / HVALS / HLEN: HGETALL întoarce toate câmpurile și valorile unui hash; HKEYS doar câmpurile, HVALS doar valorile, HLEN numărul lor.HMGET: Citește mai multe câmpuri dintr-un hash într-o singură comandă, în ordinea cerută.HINCRBY / HINCRBYFLOAT: Crește sau scade atomic un câmp numeric dintr-un hash, de exemplu stocul sau numărul de comenzi ale unui client.HDEL: Șterge unul sau mai multe câmpuri dintr-un hash; când ultimul câmp dispare, dispare și cheia.