Redis Hash Fields
Hashes sind ein beliebter Datentyp in Redis-Stores, da sie reale Objekte umfassend darstellen können. Real-World-Objekte enthalten Felder, die Werten zugeordnet werden können, wie im Folgenden gezeigt.
In Redis, HashMap-Datenstrukturbestimmungen Namenswertpaare. Ein Namenswertpaar kann als Feld in einer realen Entität identifiziert werden. Lassen Sie uns die obige Mitarbeiterinstanz einem Redis -Hash abbilden.
Im obigen Beispiel haben wir den obersten Redis-Schlüssel "Mitarbeiter: 1”, Wo wir unseren Hash aufbewahren. Es gibt vier Hash -Felder, die vier Attribute des Mitarbeiterobjekts darstellen. Redis Hashes kann mehr als 4 Milliarden Hash -Felder speichern, die mehr als genug sind, um Ihre Objekte darzustellen. Das Beste ist, dass es in Ihrer Redis -Datenbankinstanz immer noch minimaler Platz benötigt. Es ist effizienter, 1000 Hash-Felder innerhalb von 10 Top-Level-Redis-Schlüssel zu führen, um 10000 Schlüsselwertdaten zu speichern, als diese Datenmenge in 10000 REDIS-Schlüssel zu speichern.
Redis Hlen Command
In einigen Anwendungen ist es erforderlich, die Anzahl der Eigenschaften oder Felder für ein bestimmtes Objekt zu zählen. Wenn es in einem Redis -Hash gespeichert ist, ist es ein Befehl, die Anzahl der Hash -Felder an der angegebenen Taste abzurufen. Der "HlenDer Befehl ”kann verwendet werden, um die Anzahl der in einem bestimmten Hash enthaltenen Hash -Felder zu zählen.
Syntax
1 | Hlen Hash_Key |
Hash_Key: Dies ist der oberste Redis-Schlüssel, bei dem der Hash aufbewahrt wurde.
Dieser Befehl gibt einen Ganzzahlwert zurück, der die Anzahl der Hash -Felder ist, die in einem bestimmten Schlüssel gespeichert sind. Wenn der Hash_Key nicht existiert, wird dieser Befehl 0 zurückgegeben. Dieser Befehl hat eine konstante Zeitkomplexität O (1), die Sie dazu motiviert, ihn in Hochleistungsanwendungen zu verwenden.
Beispiel - Zählen Sie die Anzahl der Artikel in einem Einkaufswagen
Nehmen wir an, wir verwenden die Redis -Datenbank, um Warenkorbartikel zu speichern. Die Idee ist, jeden Kunden mit einem Redis -Schlüssel zu identifizieren. Jeder Redis -Schlüssel speichert mehrere Hash -Felder, die einen Einkaufswagenartikel darstellen. Das Einkaufswagen -Artikelobjekt würde wie das folgende aussehen.
Wir können den Befehl hset verwenden, um einige Karren Elemente für hinzuzufügen "Kunde: 1".
1 | Hset Kunde: 1 Apfel 10 Bier 5 Milch 2 |
Jetzt der Kunde: 1 Objekt sollte wie folgt aussehen.
Es gibt 3 Felder, die an der gespeichert sind "Kunde: 1" Schlüssel. Wir werden den Befehl Hlen verwenden, um die Anzahl der Felder in der Schlüssel „Kunde: 1“ zu zählen.
1 | Hlen Kunde: 1 |
Ausgang:
Der Ausgang ist wie erwartet 3.
Lassen Sie uns das "Bier" -Fiele in der löschen Kunde: 1 Schlüssel. Mit dem Befehl HDEL kann ein Feld aus einem bestimmten Schlüssel gelöscht werden.
1 | HDEL -Kunde: 1 Bier |
Jetzt können wir die vorhandenen Hash -Felder überprüfen, indem wir den Befehl hGetall ausführen.
1 | HGetall Kunde: 1 |
Ausgang:
Das Feld „Bier: 5“ wurde erfolgreich gelöscht. Zählen wir die Anzahl der Felder erneut mit dem Hlen -Befehl.
1 | Hlen Kunde: 1 |
Da wir nur noch zwei Hash -Felder im Schlüssel „Kunde: 1“ haben, sollte die Ausgabe 2 sein.
Ausgang:
Es wird empfohlen, den Befehl Hlen zu verwenden, wenn die Anzahl der Hash -Felder, die in einer bestimmten Schlüssel gespeichert sind. Es ist ein sehr schneller und einfacher Befehl, der in Ihren Redis-basierten Anwendungen verwendet werden kann.
Überprüfen wir auch die Ausgabe für den Nicht-Existenz-Schlüssel.
1 | Hlen Nicht-Existenzschlüssel |
Ausgang:
Die Ausgabe ist wie erwartet 0.
Abschluss
Redis kann verschiedene Arten von Datenstrukturen für einen bestimmten Schlüssel speichern. Die Hashes sind eine der beliebtesten Datenstrukturen, die in Redis -Datenbanken verwendet werden. Hashes können verwendet werden, um einfache Objekte und Daten effektiv darzustellen und zu manipulieren. Redis unterstützt mehrere Hash -Operationen. Das Hlen kann verwendet werden, um die Anzahl der Hash -Felder zu zählen, die in einem bestimmten Redis -Schlüssel gespeichert sind. Normalerweise gibt es eine Ganzzahl zurück, die die Anzahl der Hash -Felder ist. Wenn der Redis -Schlüssel nicht vorhanden ist, wird 0 zurückgegeben. Es ist sehr schnell, da wir keinen separaten Lesevorgang durchführen müssen.