Redis Hash Operationen

RedisRedisBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie die Redis Hash-Operationen erkunden, wobei der Schwerpunkt auf effizienten Methoden zur Datenverwaltung innerhalb von Hashes liegt. Wir beginnen mit dem Befehl HMSET, um mehrere Felder in einem Hash gleichzeitig zu setzen. Anschließend lernen Sie, wie Sie bestimmte Felder mit HMGET abrufen, Feldwerte mit HINCRBY inkrementieren und die Existenz eines Feldes innerhalb eines Hashes mit HEXISTS überprüfen. Am Ende dieses Labs werden Sie ein solides Verständnis dafür haben, wie Sie gängige Hash-Operationen in Redis durchführen können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/store_string("Set String Value") redis/RedisGroup -.-> redis/fetch_string("Get String Value") redis/RedisGroup -.-> redis/increment_int("Increase Integer Value") subgraph Lab Skills redis/access_cli -.-> lab-552096{{"Redis Hash Operationen"}} redis/store_string -.-> lab-552096{{"Redis Hash Operationen"}} redis/fetch_string -.-> lab-552096{{"Redis Hash Operationen"}} redis/increment_int -.-> lab-552096{{"Redis Hash Operationen"}} end

Mehrere Felder mit HMSET setzen

In diesem Schritt werden wir den Befehl HMSET in Redis untersuchen, mit dem Sie mehrere Felder eines Hash gleichzeitig setzen können. Dies ist effizienter als das individuelle Setzen jedes Feldes mit dem Befehl HSET.

Stellen Sie zunächst mit dem Befehl redis-cli eine Verbindung zum Redis-Server her. Öffnen Sie ein Terminal in Ihrem Verzeichnis ~/project und geben Sie Folgendes ein:

redis-cli

Sie sollten die Redis-Eingabeaufforderung sehen: 127.0.0.1:6379>.

Verwenden wir nun den Befehl HMSET. Die Syntax lautet:

HMSET key field value [field value ...]

Wobei:

  • key der Name des Hash ist.
  • field der Name des Feldes innerhalb des Hash ist.
  • value der Wert ist, der dem Feld zugewiesen werden soll.

Erstellen wir einen Hash namens user:1001 und setzen wir mehrere Felder dafür: name (Name), age (Alter) und city (Stadt).

HMSET user:1001 name "John Doe" age 30 city "New York"

Sie sollten die Ausgabe OK sehen, die angibt, dass der Befehl erfolgreich war.

Um zu überprüfen, ob die Felder korrekt gesetzt wurden, können Sie den Befehl HGETALL verwenden. Für dieses Lab konzentrieren wir uns jedoch auf die Überprüfung der Befehle selbst.

Sie können HMSET auch verwenden, um vorhandene Felder zu aktualisieren. Ändern wir beispielsweise das Feld age in 31:

HMSET user:1001 age 31

Auch hier sollten Sie OK sehen.

Denken Sie daran, die redis-cli mit der Eingabe von exit zu beenden. Dies ist wichtig, damit der Befehl zur Überprüfung protokolliert wird.

exit

Mehrere Felder mit HMGET abrufen

In diesem Schritt lernen wir, wie man mit dem Befehl HMGET mehrere Felder aus einem Redis-Hash abruft. Dies ist nützlich, wenn Sie nur bestimmte Felder benötigen und nicht den gesamten Hash abrufen möchten.

Stellen Sie zunächst mit dem Befehl redis-cli eine Verbindung zum Redis-Server her:

redis-cli

Erinnern Sie sich, dass wir im vorherigen Schritt einen Hash namens user:1001 mit den Feldern name (Name), age (Alter) und city (Stadt) erstellt haben. Rufen wir die Felder name und age mit dem Befehl HMGET ab.

Die Syntax für HMGET lautet:

HMGET key field [field ...]

Wobei:

  • key der Name des Hash ist.
  • field der Name des Feldes ist, das Sie abrufen möchten. Sie können mehrere Felder angeben.

Um die Felder name und age aus dem Hash user:1001 abzurufen, führen Sie den folgenden Befehl aus:

HMGET user:1001 name age

Sie sollten eine ähnliche Ausgabe wie diese sehen:

1) "John Doe"
2) "31"

Die Ausgabe ist ein Array von Werten, das der Reihenfolge der von Ihnen angeforderten Felder entspricht.

Wenn ein Feld im Hash nicht vorhanden ist, gibt HMGET für dieses Feld nil zurück.

Denken Sie daran, die redis-cli mit der Eingabe von exit zu beenden.

exit

Feldwert mit HINCRBY erhöhen

In diesem Schritt lernen wir, wie man den Wert eines Feldes in einem Redis-Hash mit dem Befehl HINCRBY erhöht. Dieser Befehl ist besonders nützlich für Zähler und andere numerische Daten.

Stellen Sie zunächst mit dem Befehl redis-cli eine Verbindung zum Redis-Server her:

redis-cli

Wir werden weiterhin den Hash user:1001 verwenden, den wir in den vorherigen Schritten erstellt haben. Nehmen wir an, wir möchten die Anzahl der Logins für diesen Benutzer verfolgen. Wir können dem Hash ein Feld logins hinzufügen und es jedes Mal erhöhen, wenn sich der Benutzer anmeldet.

Fügen wir zunächst das Feld logins hinzu und initialisieren es mit 0. Wir können dafür HMSET verwenden:

HMSET user:1001 logins 0

Sie sollten OK sehen. Verwenden wir nun HINCRBY, um das Feld logins zu erhöhen.

Die Syntax für HINCRBY lautet:

HINCRBY key field increment

Wobei:

  • key der Name des Hash ist.
  • field der Name des Feldes ist, das Sie erhöhen möchten.
  • increment der Betrag ist, um den Sie das Feld erhöhen möchten.

Um das Feld logins um 1 zu erhöhen, führen Sie den folgenden Befehl aus:

HINCRBY user:1001 logins 1

Sie sollten die Ausgabe (integer) 1 sehen, was der neue Wert des Feldes logins ist.

Erhöhen wir das Feld logins erneut:

HINCRBY user:1001 logins 1

Die Ausgabe wird (integer) 2 sein.

Sie können auch um andere Werte als 1 erhöhen.

Denken Sie daran, die redis-cli mit der Eingabe von exit zu beenden.

exit

Existenz eines Feldes mit HEXISTS prüfen

In diesem Schritt lernen wir, wie man mit dem Befehl HEXISTS prüft, ob ein Feld in einem Redis-Hash existiert. Dies ist nützlich, um das Vorhandensein eines Feldes zu überprüfen, bevor man versucht, es abzurufen oder zu ändern.

Stellen Sie zunächst mit dem Befehl redis-cli eine Verbindung zum Redis-Server her:

redis-cli

Wir werden weiterhin den Hash user:1001 verwenden, den wir in den vorherigen Schritten erstellt haben. Wir wissen, dass dieser Hash Felder wie name (Name), age (Alter), city (Stadt) und logins (Anmeldungen) hat. Verwenden wir HEXISTS, um zu prüfen, ob das Feld name existiert.

Die Syntax für HEXISTS lautet:

HEXISTS key field

Wobei:

  • key der Name des Hash ist.
  • field der Name des Feldes ist, das Sie prüfen möchten.

Um zu prüfen, ob das Feld name im Hash user:1001 existiert, führen Sie den folgenden Befehl aus:

HEXISTS user:1001 name

Sie sollten die Ausgabe (integer) 1 sehen, was anzeigt, dass das Feld existiert.

Prüfen wir nun ein Feld, das nicht existiert, z. B. country (Land):

HEXISTS user:1001 country

Sie sollten die Ausgabe (integer) 0 sehen, was anzeigt, dass das Feld nicht existiert.

Denken Sie daran, die redis-cli mit der Eingabe von exit zu beenden.

exit

Zusammenfassung

In diesem Lab haben Sie etwas über Redis Hash-Operationen gelernt. Sie begannen mit dem Befehl HMSET, um effizient mehrere Felder in einem Hash zu setzen. Anschließend haben Sie untersucht, wie Sie bestimmte Felder mit HMGET abrufen, Feldwerte mit HINCRBY erhöhen und die Existenz eines Feldes innerhalb eines Hash mit HEXISTS überprüfen können. Diese Befehle bilden eine Grundlage für die effektive Verwaltung von Daten innerhalb von Redis-Hashes.