Allgemeine Operationen am Hash des Redis-Datentyps
In Redis ist die Hash-Tabelle eine Datenstruktur, die Felder vom Typ Zeichenfolge und entsprechende Werte zuordnet. Besonders geeignet zum Speichern von Objekten, jeder Hash kann mehr als 4 Milliarden Schlüssel-Wert-Paare speichern.
Kinderschuhe, die mit Python vertraut sind, können es sich als Wörterbuchdiktat vorstellen. Die vorherige Datentypspeicherung war k-v, und die Hash-Speicherung war k-dict
, und dict
verfügt über einen eigenen k-v
. k-dict
,dict
里又会有属于自己的k-v
。
一、hset
为哈希表中的字段赋值,如果哈希表不存在,创建一个新的哈希表被并进行hset操作。
如果字段已经存在于哈希表中,旧值将被覆盖。
hset myhash k1 v1
Nach dem Login kopieren

二、hget
返回哈希表中指定字段的值,如果给定的字段或 key 不存在时,返回 nil。
hget myhash k1
Nach dem Login kopieren

三、hmset
同时将多个 field-value 对设置到哈希表中。
hmset myhash k2 v2 k3 v3
Nach dem Login kopieren
如果哈希表中已存在的字段,则覆盖。
如果哈希表不存在,会创建一个空哈希表,并执行hset操作。

四、hmget
返回哈希表中,一个或多个给定字段的值。
hmget myhash k1 k2 k3 k4
Nach dem Login kopieren
如果指定的字段不存在于哈希表,那么返回一个nil值。

五、hgetall
返回哈希表中,所有的字段和值。
hgetall myhash
Nach dem Login kopieren
注意,在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。

六、hdel
删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。
hdel myhash k2 k3 k5
Nach dem Login kopieren
返回的是被成功删除字段的数量,不包括被忽略的字段。

七、hlen
获取哈希表中字段的数量。
hlen myhash
Nach dem Login kopieren

八、hexists
查看哈希表的指定字段是否存在。
hexists myhash k1
Nach dem Login kopieren
如果哈希表含有给定字段,返回 1。
如果哈希表不含有给定字段,或 key 不存在,返回 0 。

九、hkeys
获取哈希表中的所有字段(field)。
hkeys myhash
Nach dem Login kopieren
包含哈希表中所有字段(field)列表。 当 key 不存在时,返回一个空列表。

十、hvals
返回哈希表所有字段(field)的值。
hvals myhash
Nach dem Login kopieren
返回一个包含哈希表中所有字段(field)值的列表。 当 key 不存在时,返回一个空表。

十一、hincrby
为哈希表中的字段值加上指定增量值,这个增量也可以是负数,相当于减法。
若哈希表的 key 不存在,创建一个新的哈希表被并执行hincrby
命令。
若指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
若对储存字符串值的字段执行,会报错。

十二、hsetnx
为哈希表中不存在的的字段赋值。
若哈希表不存在,创建新的哈希表并进行 hset 操作。
如果字段已经存在于哈希表中,操作无效。
如果key不存在,创建新哈希表并执行hsetnx
1. hset
Weisen Sie den Feldern in der Hash-Tabelle Werte zu. Wenn die Hash-Tabelle nicht vorhanden ist, erstellen Sie eine neue Hash-Tabelle und führen Sie die hset-Operation aus.
Wenn das Feld bereits in der Hash-Tabelle vorhanden ist, wird der alte Wert überschrieben.
rrreee

2. hget
Gibt den Wert des angegebenen Felds in der Hash-Tabelle zurück. Wenn das angegebene Feld oder der Schlüssel nicht vorhanden ist, wird Null zurückgegeben.
rrreee🎜

🎜 3. hmset🎜Setzen Sie mehrere Feld-Wert-Paare gleichzeitig in die Hash-Tabelle. 🎜rrreee🎜Überschreiben Sie das Feld, wenn es bereits in der Hash-Tabelle vorhanden ist.
Wenn die Hash-Tabelle nicht vorhanden ist, wird eine leere Hash-Tabelle erstellt und die hset-Operation ausgeführt. 🎜🎜

🎜4. hmget🎜Gibt den Wert eines oder mehrerer angegebener Felder in der Hash-Tabelle zurück. 🎜rrreee🎜Wenn das angegebene Feld nicht in der Hash-Tabelle vorhanden ist, wird ein Nullwert zurückgegeben. 🎜🎜

🎜5. hgetall🎜Gibt alle Felder und Werte in der Hash-Tabelle zurück. 🎜rrreee🎜Beachten Sie, dass im Rückgabewert unmittelbar nach jedem Feldnamen der Wert des Felds steht, sodass die Länge des Rückgabewerts doppelt so groß ist wie die Größe der Hash-Tabelle. 🎜🎜

🎜6. hdel🎜Ein oder mehrere angegebene Felder im Hash-Tabellenschlüssel löschen. Felder, die nicht vorhanden sind, werden ignoriert. 🎜rrreee🎜Gibt die Anzahl der erfolgreich gelöschten Felder zurück, ignorierte Felder ausgenommen. 🎜🎜

🎜7. hlen🎜Ermitteln Sie die Anzahl der Felder in der Hash-Tabelle. 🎜rrreee🎜

🎜 8. hexists🎜 Überprüfen Sie, ob das angegebene Feld der Hash-Tabelle existiert. 🎜rrreee🎜Gibt 1 zurück, wenn die Hash-Tabelle das angegebene Feld enthält.
Wenn die Hash-Tabelle das angegebene Feld nicht enthält oder der Schlüssel nicht existiert, wird 0 zurückgegeben. 🎜🎜

🎜9. hkeys🎜Alle Felder in der Hash-Tabelle abrufen. 🎜rrreee🎜Enthält eine Liste aller Felder in der Hash-Tabelle. Wenn der Schlüssel nicht vorhanden ist, wird eine leere Liste zurückgegeben. 🎜🎜

🎜10. hvals🎜Gibt die Werte aller Felder in der Hash-Tabelle zurück. 🎜rrreee🎜Gibt eine Liste zurück, die alle Feldwerte in der Hash-Tabelle enthält. Wenn der Schlüssel nicht vorhanden ist, wird eine leere Tabelle zurückgegeben. 🎜🎜

🎜11. hincrby🎜 addiert den angegebenen Inkrementwert zum Feldwert in der Hash-Tabelle. Dieses Inkrement kann auch eine negative Zahl sein, was einer Subtraktion entspricht. 🎜🎜Wenn der Schlüssel der Hash-Tabelle nicht existiert, erstellen Sie eine neue Hash-Tabelle und führen Sie den Befehl
hincrby
aus. 🎜🎜Wenn das angegebene Feld nicht vorhanden ist, wird der Wert des Feldes vor der Ausführung des Befehls auf 0 initialisiert. 🎜🎜Bei Ausführung in einem Feld, das einen Zeichenfolgenwert speichert, wird ein Fehler gemeldet. 🎜🎜

🎜12. hsetnx🎜Weisen Sie Feldern Werte zu, die in der Hash-Tabelle nicht vorhanden sind. 🎜🎜Wenn die Hash-Tabelle nicht vorhanden ist, erstellen Sie eine neue Hash-Tabelle und führen Sie den hset-Vorgang aus. 🎜🎜Wenn das Feld bereits in der Hash-Tabelle vorhanden ist, hat der Vorgang keine Auswirkung. 🎜🎜Wenn der Schlüssel nicht existiert, erstellen Sie eine neue Hash-Tabelle und führen Sie den Befehl
hsetnx
aus. 🎜🎜🎜🎜🎜 In Bezug auf die Anwendung von Hash in Redis, z. B. das Speichern von Benutzerinformationsdaten und das häufige Ändern von Informationen, können Sie Redis-Hash verwenden, wenn Sie zum Speichern keine herkömmlichen k-v-Objekte verwenden möchten. 🎜
Das obige ist der detaillierte Inhalt vonAnalyse gängiger Betriebsbeispiele von Hash, dem grundlegenden Datentyp von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!