HMGET în Redis & In-Memory Data Store

Citește mai multe câmpuri dintr-un hash într-o singură comandă, în ordinea cerută.

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

Ce face HMGET

HMGET întoarce valorile câmpurilor cerute, în exact aceeași ordine. Pentru câmpurile care lipsesc pune (nil) pe poziția lor, așa că poți asocia ușor răspunsul cu lista ta de câmpuri.

Este mai eficient decât mai multe HGET-uri și mai ieftin decât HGETALL când ai nevoie doar de câteva câmpuri dintr-un obiect mare.

Parametri

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

Ce returnează

O listă cu valorile în ordinea cerută, cu (nil) pentru câmpurile inexistente.

Exemple

Exemplul 1: Datele afișate pe un card de produs

Câmpul reducere lipsește, deci al treilea element e (nil).

HSET produs:caiet nume Caiet pret 12 stoc 40 furnizor Pelikan
HMGET produs:caiet nume pret reducere

Ieșire în redis-cli

127.0.0.1:6379> HSET produs:caiet nume Caiet pret 12 stoc 40 furnizor Pelikan
(integer) 4
127.0.0.1:6379> HMGET produs:caiet nume pret reducere
1) "Caiet"
2) "12"
3) (nil)

Greșeli frecvente

  • Pe o cheie inexistentă, HMGET nu dă eroare: întoarce câte un (nil) pentru fiecare câmp.
  • HMGET lucrează pe un singur hash; pentru mai multe hash-uri folosește un pipeline.

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.
  • MSET / MGET: Scrie (MSET) sau citește (MGET) mai multe chei string într-o singură comandă atomică.