web-dev-qa-db-fra.com

Quelle est la différence entre la méthode HSET et HMSET dans la base de données redis

Dans mon application, j'utilise la base de données redis. J'ai parcouru leur documentation, mais je n'ai pas trouvé la différence entre HSET et HMSET.

46
sachin

HMSET est comme HSET, mais il permet de définir simultanément plusieurs paires champ/valeur.

Mise à jour

À partir d'octobre 2017, HSET dans la version redis actuelle (4.0.2 sur ma machine) peut également définir plusieurs paires clé-valeur.

127.0.0.1:6379> HSET foo a 1 b 2
(integer) 2
127.0.0.1:6379> HGETALL foo
1) "a"
2) "1"
3) "b"
4) "2"

Ces commandes sont donc désormais identiques.

64
Sergio Tulentsev

valeur du champ de clé HSET :

Définit le champ du hachage stocké à la clé sur valeur. Si la clé n'existe pas, une nouvelle clé contenant un hachage est créée. Si le champ existe déjà dans le hachage, il est remplacé.

valeur de champ de clé HMSET [valeur de champ ...]

Définit les champs spécifiés à leurs valeurs respectives dans le hachage stocké à la clé. Cette commande écrase tous les champs existants du hachage. Si la clé n'existe pas, une nouvelle clé contenant un hachage est créée.

Pour plus d'informations sur les commandes redis, cliquez ici .

17
Hrishikesh Mishra

La seule différence entre les commandes HSET et HMSET est la valeur de retour des commandes.

Valeur de retour HSET (réponse entière):

  • # si le champ est un nouveau champ dans le hachage et que la valeur a été définie. (où # est le nombre de nouveaux champs créés)
  • 0 si le champ existe déjà dans le hachage et que la valeur a été mise à jour.

HMSET renvoie une chaîne simple comme réponse.

1
Gunasekar