Maison  >  Article  >  base de données  >  Analyse d'exemples d'opérations courantes de Hash, le type de données de base de Redis

Analyse d'exemples d'opérations courantes de Hash, le type de données de base de Redis

王林
王林avant
2023-05-31 10:43:26827parcourir

Opérations courantes sur le type de données Hash de Redis

Dans Redis, la table de hachage est une structure de données qui mappe les champs de type chaîne et les valeurs correspondantes. Particulièrement adapté au stockage d’objets, chaque hachage peut stocker plus de 4 milliards de paires clé-valeur.

Les chaussures pour enfants qui connaissent le python peuvent le considérer comme un dictionnaire. Le stockage du type de données précédent était k-v, et le stockage du hachage est k-dict, et dict aura son propre k-v. k-dictdict里又会有属于自己的k-v

一、hset

为哈希表中的字段赋值,如果哈希表不存在,创建一个新的哈希表被并进行hset操作。
如果字段已经存在于哈希表中,旧值将被覆盖。

hset myhash k1 v1

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

二、hget

返回哈希表中指定字段的值,如果给定的字段或 key 不存在时,返回 nil。

hget myhash k1

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

三、hmset

同时将多个 field-value 对设置到哈希表中。

hmset myhash k2 v2 k3 v3

如果哈希表中已存在的字段,则覆盖。
如果哈希表不存在,会创建一个空哈希表,并执行hset操作。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

四、hmget

返回哈希表中,一个或多个给定字段的值。

hmget myhash k1 k2 k3 k4

如果指定的字段不存在于哈希表,那么返回一个nil值。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

五、hgetall

返回哈希表中,所有的字段和值。

hgetall myhash

注意,在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

六、hdel

删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。

hdel myhash k2 k3 k5

返回的是被成功删除字段的数量,不包括被忽略的字段。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

七、hlen

获取哈希表中字段的数量。

hlen myhash

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

八、hexists

查看哈希表的指定字段是否存在。

hexists myhash k1

如果哈希表含有给定字段,返回 1。
如果哈希表不含有给定字段,或 key 不存在,返回 0 。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

九、hkeys

获取哈希表中的所有字段(field)。

hkeys myhash

包含哈希表中所有字段(field)列表。 当 key 不存在时,返回一个空列表。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

十、hvals

返回哈希表所有字段(field)的值。

hvals myhash

返回一个包含哈希表中所有字段(field)值的列表。 当 key 不存在时,返回一个空表。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

十一、hincrby

为哈希表中的字段值加上指定增量值,这个增量也可以是负数,相当于减法。

若哈希表的 key 不存在,创建一个新的哈希表被并执行hincrby命令。

若指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。

若对储存字符串值的字段执行,会报错。

Analyse dexemples dopérations courantes de Hash, le type de données de base de Redis

十二、hsetnx

为哈希表中不存在的的字段赋值。

若哈希表不存在,创建新的哈希表并进行 hset 操作。

如果字段已经存在于哈希表中,操作无效。

如果key不存在,创建新哈希表并执行hsetnx

1. hset

Attribuez des valeurs aux champs de la table de hachage. Si la table de hachage n'existe pas, créez une nouvelle table de hachage et effectuez l'opération hset.
Si le champ existe déjà dans la table de hachage, l'ancienne valeur sera écrasée.

rrreeeAnalyse dexemples dopérations courantes de Hash, le type de données de base de RedisAnalyse d'exemple d'opération commune de hachage de type de données de base Redis

2. hget

Renvoie la valeur du champ spécifié dans la table de hachage. Si le champ ou la clé donnée n'existe pas, nul est renvoyé.

rrreee🎜Redis Basic Data Type Hash Hash Common Operation Exemple d'analyse🎜 3. hmset🎜Définissez plusieurs paires champ-valeur dans la table de hachage en même temps. 🎜rrreee🎜Écrasez le champ s'il existe déjà dans la table de hachage.
Si la table de hachage n'existe pas, une table de hachage vide sera créée et l'opération hset sera effectuée. 🎜🎜Type de données de base Redis Hash Hash, exemple d'analyse d'opération commune🎜4. hmget🎜Renvoie la valeur d'un ou plusieurs champs donnés dans la table de hachage. 🎜rrreee🎜Si le champ spécifié n'existe pas dans la table de hachage, alors une valeur nulle est renvoyée. 🎜🎜Type de données de base Redis Hash Hash, exemple d'analyse d'opération commune🎜5. hgetall🎜Renvoie tous les champs et valeurs de la table de hachage. 🎜rrreee🎜Notez que dans la valeur de retour, immédiatement après chaque nom de champ se trouve la valeur du champ, donc la longueur de la valeur de retour est deux fois la taille de la table de hachage. 🎜🎜Redis type de données de base Hash Hash, exemple d'analyse d'opération commune🎜6. hdel🎜Supprimez un ou plusieurs champs spécifiés dans la clé de la table de hachage. Les champs qui n'existent pas seront ignorés. 🎜rrreee🎜Renvoie le nombre de champs supprimés avec succès, à l'exclusion des champs ignorés. 🎜🎜Redis type de données de base Hash Hash, exemple d'analyse d'opération commune🎜7. hlen🎜Obtenez le nombre de champs dans la table de hachage. 🎜rrreee🎜Type de données de base Redis Hash Hash, exemple d'analyse d'opération commune🎜 8. hexists🎜 Vérifiez si le champ spécifié de la table de hachage existe. 🎜rrreee🎜Renvoie 1 si la table de hachage contient le champ donné.
Si la table de hachage ne contient pas le champ donné ou si la clé n'existe pas, renvoie 0. 🎜🎜Redis type de données de base Hash Hash, exemple d'analyse d'opération commune🎜9. hkeys🎜Récupère tous les champs de la table de hachage. 🎜rrreee🎜Contient une liste de tous les champs de la table de hachage. Lorsque la clé n'existe pas, une liste vide est renvoyée. 🎜🎜Type de données de base Redis Hash Hash, exemple d'analyse d'opération commune🎜10. hvals🎜Renvoie les valeurs de tous les champs de la table de hachage. 🎜rrreee🎜Renvoie une liste contenant toutes les valeurs de champ dans la table de hachage. Lorsque la clé n'existe pas, une table vide est renvoyée. 🎜🎜Redis type de données de base Hash Hash, exemple d'analyse d'opération commune🎜11.hincrby🎜 ajoute la valeur d'incrément spécifiée à la valeur du champ dans la table de hachage. Cet incrément peut également être un nombre négatif, ce qui équivaut à une soustraction. 🎜🎜Si la clé de la table de hachage n'existe pas, créez une nouvelle table de hachage et exécutez la commande hincrby. 🎜🎜Si le champ spécifié n'existe pas, la valeur du champ sera initialisée à 0 avant d'exécuter la commande. 🎜🎜Si elle est exécutée sur un champ qui stocke une valeur de chaîne, une erreur sera signalée. 🎜🎜Type de données de base Redis Hash Hash, exemple d'analyse d'opération commune🎜12. hsetnx🎜Attribuez des valeurs aux champs qui n'existent pas dans la table de hachage. 🎜🎜Si la table de hachage n'existe pas, créez une nouvelle table de hachage et effectuez l'opération hset. 🎜🎜Si le champ existe déjà dans la table de hachage, l'opération n'a aucun effet. 🎜🎜Si la clé n'existe pas, créez une nouvelle table de hachage et exécutez la commande hsetnx. 🎜🎜🎜🎜🎜 Concernant l'application du hachage dans Redis, comme la sauvegarde des données d'informations utilisateur et les informations fréquemment modifiées, si vous ne souhaitez pas utiliser d'objets k-v traditionnels pour stocker, vous pouvez utiliser le hachage Redis. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer