Blog Navicat

Utiliser les hashages (hashes) dans Redis 15 Septembre 2023 par Robert Gravelle

Dans Redis, la structure de données hashes mappe une clé de chaîne avec des paires champ-valeur. Ainsi, les hashes sont utiles pour représenter des objets de base et pour stocker des regroupements de compteurs, entre autres. Cet article passera en revue certaines des principales commandes de gestion des hashes, à la fois via redis-cli (Command Line Interface) et en utilisant Navicat for Redis.

Créer et mettre à jour une structure de hachages

Dans Redis, la clé est le nom du hashe et la valeur représente une séquence d'entrées de valeur de champ de nom de champ. Par exemple, nous pourrions décrire un objet véhicule comme suit :

vehicle make Toyota model Crown trim Platinum year 2023 color black

Pour travailler avec les hashes, nous utilisons des commandes similaires à celles que nous utilisons avec les chaînes, puisque les valeurs des champs des Hhashes sont des chaînes. Par exemple, la commande HSET définit le champ dans le hash sur la valeur. Si la clé n'existe pas, une nouvelle clé stockant un hash est créée. Si le champ existe déjà dans le hash, il est écrasé.

HSET key field value

Pour chaque commande HSET, Redis répond avec un entier comme suit :

  • 1 si le champ est un nouveau champ dans le hash et que la valeur a été définie.
  • 0 si le champ existe déjà dans le Hash et que la valeur a été mise à jour.

Créons le Hash du véhicule décrit ci-dessus :

HSET vehicle make "Toyota"   // 1
HSET vehicle model "Crown"   // 1
HSET vehicle trim "Platinum" // 1
HSET vehicle year 2015       // 1
HSET vehicle color "black"   // 1

Maintenant, si nous mettons à jour la valeur du champ Year à 2022, HSET renvoie 0 :

HSET vehicle year 2022 // 0

Créer une structure de hashes avec Navicat

Dans Navicat for Redis, des champs peuvent être ajoutés à la structure de hachages grâce à l'éditeur intégré. Cliquer sur le bouton points de suspension [...] à droite d'un champ ouvre un éditeur spécial dans lequel vous pouvez saisir des valeurs individuelles :

vehicle_hash_in_navicat_editor (70K)

Cliquer sur le bouton Appliquer ajoute le nouveau Hash.

Récupérer la valeur d'un champ de hash

Nous pouvons récupérer la valeur associée au champ dans un Hash en utilisant la commande HGET :

HGET key field

Par exemple, nous pouvons l'utiliser pour vérifier que nous obtenons 2022 comme valeur de l'année au lieu de 2015 :

HGET vehicle year // 2022

Nous pouvons également obtenir tout le contenu du Hash (champs et valeurs) en utilisant la commande HGETALL :

HGETALL key

Essayons-le :

HGETALL vehicle
/* 
Returns:

make
Toyota
model
Crown
trim
Platinum
year
2022
color
black
*/

HGETALL répond avec une liste vide lorsque la clé fournie n'existe pas.

Supprimer un champ

La commande HDEL supprime les champs spécifiés du hash stocké dans la clé. Les champs spécifiés qui n'existent pas dans ce hachage sont ignorés. HDEL renvoie le nombre de champs qui ont été supprimés du Hash. Si une clé n'existe pas, elle est traitée comme un Hash vide et HDEL renvoie 0.

HDEL key field [field ...]

Utilisons HDEL pour supprimer les champs année et couleur :

HDEL vehicle year color // 2

Dans l'éditeur Navicat, nous pouvons supprimer un champ en le sélectionnant et en cliquant sur le bouton Supprimer [-] situé sous la liste des champs :

delete_button_in_navicat_editor (25K)

Conclusion

Cet article de blog a mis en évidence certaines des principales commandes de gestion des Hashes dans Redis, à la fois via redis-cli et en utilisant Navicat for Redis.

Vous souhaitez essayer Navicat for Redis. Télécharger les ici. La version d'essai est entièrement fonctionnelle et gratuite pendant 14 jours.

Partager
Archives du blog