Einführung
In diesem Lab erkunden Sie grundlegende Redis-Datenstrukturen und lernen, wie Sie diese mit dem Befehlszeilen-Tool redis-cli bearbeiten. Das Lab konzentriert sich auf praktische Übungen, die Ihnen helfen zu verstehen, wie Daten in Redis gespeichert und abgerufen werden.
Sie beginnen mit Strings und lernen, wie man String-Werte setzt, abruft, auf Existenz prüft und löscht. Danach widmen Sie sich den Listen und verwenden Befehle wie LPUSH und LRANGE. Anschließend verwalten Sie Sets mit SADD und SMEMBERS. Abschließend erkunden Sie Hashes mithilfe von HSET und HGET. Diese praktische Erfahrung bildet ein solides Fundament für den Einsatz von Redis in verschiedenen Anwendungen.
Arbeiten mit Strings für einfache Daten
In diesem Schritt untersuchen wir, wie man Redis verwendet, um einfache String-Daten zu speichern und abzurufen. Redis wird häufig als Cache oder einfacher Key-Value-Speicher eingesetzt, und Strings sind der grundlegendste Datentyp, den es bietet.
Verbinden wir uns zunächst mit dem Redis-Server über das Befehlszeilen-Tool redis-cli. Öffnen Sie ein Terminal in der LabEx-VM. Sie sollten sich bereits im Verzeichnis ~/project befinden.
Geben Sie den folgenden Befehl ein, um eine Verbindung zum Redis-Server herzustellen:
redis-cli
Sie sollten eine Eingabeaufforderung sehen, die wie folgt aussieht:
127.0.0.1:6379>
Dies zeigt an, dass Sie nun mit dem Redis-Server verbunden sind.
Lassen Sie uns nun einen einfachen String-Wert setzen. Wir verwenden dazu den Befehl SET. Der Befehl SET benötigt zwei Argumente: den Schlüssel (Key) und den Wert (Value). Wir setzen einen Schlüssel namens mykey auf den Wert Hello Redis:
SET mykey "Hello Redis"
Sie sollten die folgende Ausgabe sehen:
OK
Dies bedeutet, dass der Wert erfolgreich gesetzt wurde.
Rufen wir nun den Wert mit dem Befehl GET ab. Der Befehl GET benötigt ein Argument: den Schlüssel. Lassen Sie uns den Wert von mykey abrufen:
GET mykey
Sie sollten die folgende Ausgabe sehen:
"Hello Redis"
Dies bestätigt, dass wir erfolgreich einen String-Wert in Redis gespeichert und abgerufen haben.
Versuchen wir ein weiteres Beispiel. Diesmal speichern wir eine Zahl als String.
SET counter 100
GET counter
Sie sollten sehen:
"100"
Redis behandelt dies als String, auch wenn es eine Zahl repräsentiert.
Sie können auch den Befehl EXISTS verwenden, um zu prüfen, ob ein Schlüssel existiert.
EXISTS mykey
Sie sollten sehen:
(integer) 1
Dies zeigt an, dass der Schlüssel mykey existiert. Wenn der Schlüssel nicht existiert, gibt der Befehl (integer) 0 zurück.
Lassen Sie uns abschließend den Schlüssel mit dem Befehl DEL löschen.
DEL mykey
Sie sollten sehen:
(integer) 1
Dies zeigt an, dass der Schlüssel mykey erfolgreich gelöscht wurde.
Wenn Sie nun versuchen, den Wert von mykey erneut abzurufen:
GET mykey
Sie sollten sehen:
(nil)
Dies bestätigt, dass der Schlüssel gelöscht wurde.
Denken Sie daran, redis-cli zu beenden, um sicherzustellen, dass Ihre Befehle protokolliert werden. Geben Sie ein:
exit
Dies bringt Sie zurück zur normalen Terminal-Eingabeaufforderung.
Listen mit LPUSH und LRANGE verwenden
In diesem Schritt untersuchen wir, wie man Redis-Listen verwendet, um geordnete Datensammlungen zu speichern und abzurufen. Redis-Listen sind als verkettete Listen implementiert, was sie effizient für das Hinzufügen und Entfernen von Elementen am Anfang oder Ende der Liste macht. Wir konzentrieren uns auf die Befehle LPUSH und LRANGE.
Wir verwenden weiterhin das Befehlszeilen-Tool redis-cli. Falls Sie noch nicht verbunden sind, öffnen Sie ein Terminal in der LabEx-VM und geben Sie ein:
redis-cli
Erstellen wir nun eine Liste und fügen ihr einige Elemente mit dem Befehl LPUSH hinzu. LPUSH fügt Elemente links (am Anfang) der Liste hinzu. Der Befehl LPUSH benötigt zwei oder mehr Argumente: den Schlüssel der Liste und den/die hinzuzufügenden Wert(e). Erstellen wir eine Liste namens mylist und fügen die Werte item1, item2 und item3 hinzu:
LPUSH mylist item1
Sie sollten die folgende Ausgabe sehen:
(integer) 1
Dies bedeutet, dass ein Element zur Liste hinzugefügt wurde. Der Rückgabewert von LPUSH ist die Länge der Liste nach der Operation.
Fügen wir nun die anderen Elemente hinzu:
LPUSH mylist item2
(integer) 2
LPUSH mylist item3
(integer) 3
Rufen wir nun die Elemente der Liste mit dem Befehl LRANGE ab. LRANGE gibt einen Bereich von Elementen aus der Liste zurück. Der Befehl LRANGE benötigt drei Argumente: den Schlüssel der Liste, den Startindex und den Endindex. Die Indizes sind nullbasiert, das erste Element befindet sich also an Index 0. Um alle Elemente der Liste abzurufen, können wir den Startindex 0 und den Endindex -1 verwenden.
LRANGE mylist 0 -1
Sie sollten die folgende Ausgabe sehen:
1) "item3"
2) "item2"
3) "item1"
Beachten Sie, dass die Elemente in umgekehrter Reihenfolge zurückgegeben werden, in der wir sie hinzugefügt haben, da LPUSH Elemente am Anfang der Liste einfügt.
Fügen wir der Liste noch ein paar weitere Elemente hinzu:
LPUSH mylist item4
LPUSH mylist item5
Rufen wir nun die ersten 3 Elemente der Liste ab (Indizes 0 bis 2):
LRANGE mylist 0 2
Sie sollten sehen:
1) "item5"
2) "item4"
3) "item3"
Sie können auch negative Indizes verwenden, um auf Elemente vom Ende der Liste zuzugreifen. Um beispielsweise das letzte Element der Liste abzurufen, können Sie den Index -1 verwenden:
LRANGE mylist -1 -1
Sie sollten sehen:
1) "item1"
Denken Sie daran, redis-cli zu beenden, um sicherzustellen, dass Ihre Befehle protokolliert werden. Geben Sie ein:
exit
Dies bringt Sie zurück zur normalen Terminal-Eingabeaufforderung.
Sets mit SADD und SMEMBERS verwalten
In diesem Schritt untersuchen wir, wie man Redis-Sets verwendet, um ungeordnete Sammlungen eindeutiger Elemente zu speichern und zu verwalten. Redis-Sets sind nützlich für Aufgaben wie das Verfolgen eindeutiger Besucher, das Speichern von Tags oder das Verwalten von Beziehungen zwischen Objekten. Wir konzentrieren uns auf die Befehle SADD und SMEMBERS.
Wir verwenden weiterhin das Befehlszeilen-Tool redis-cli. Falls Sie noch nicht verbunden sind, öffnen Sie ein Terminal in der LabEx-VM und geben Sie ein:
redis-cli
Erstellen wir nun ein Set und fügen ihm einige Mitglieder mit dem Befehl SADD hinzu. SADD fügt ein oder mehrere Mitglieder zu einem Set hinzu. Der Befehl SADD benötigt zwei oder mehr Argumente: den Schlüssel des Sets und das/die hinzuzufügende(n) Mitglied(er). Erstellen wir ein Set namens myset und fügen die Mitglieder member1, member2 und member3 hinzu:
SADD myset member1
Sie sollten die folgende Ausgabe sehen:
(integer) 1
Dies bedeutet, dass ein Mitglied zum Set hinzugefügt wurde. Der Rückgabewert von SADD ist die Anzahl der Mitglieder, die dem Set hinzugefügt wurden (ohne bereits vorhandene Mitglieder).
Fügen wir nun die anderen Elemente hinzu:
SADD myset member2
(integer) 1
SADD myset member3
(integer) 1
Rufen wir nun die Mitglieder des Sets mit dem Befehl SMEMBERS ab. SMEMBERS gibt alle Mitglieder des Sets zurück. Der Befehl SMEMBERS benötigt ein Argument: den Schlüssel des Sets.
SMEMBERS myset
Sie sollten die folgende Ausgabe sehen (die Reihenfolge der Mitglieder kann variieren, da Sets ungeordnet sind):
1) "member3"
2) "member2"
3) "member1"
Versuchen wir, ein doppeltes Mitglied zum Set hinzuzufügen:
SADD myset member1
Sie sollten sehen:
(integer) 0
Dies zeigt an, dass keine neuen Mitglieder hinzugefügt wurden, da member1 bereits im Set vorhanden war.
Fügen wir dem Set noch ein paar weitere Mitglieder hinzu:
SADD myset member4
SADD myset member5
Rufen wir nun alle Mitglieder erneut ab:
SMEMBERS myset
Sie sollten etwas Ähnliches sehen wie:
1) "member5"
2) "member4"
3) "member3"
4) "member2"
5) "member1"
Die Reihenfolge kann abweichen.
Denken Sie daran, redis-cli zu beenden, um sicherzustellen, dass Ihre Befehle protokolliert werden. Geben Sie ein:
exit
Dies bringt Sie zurück zur normalen Terminal-Eingabeaufforderung.
Hashes mit HSET und HGET erkunden
In diesem Schritt untersuchen wir, wie man Redis-Hashes verwendet, um Sammlungen von Feld-Wert-Paaren zu speichern und abzurufen. Redis-Hashes sind nützlich, um Objekte mit mehreren Attributen darzustellen. Wir konzentrieren uns auf die Befehle HSET und HGET.
Wir verwenden weiterhin das Befehlszeilen-Tool redis-cli. Falls Sie noch nicht verbunden sind, öffnen Sie ein Terminal in der LabEx-VM und geben Sie ein:
redis-cli
Erstellen wir nun einen Hash und fügen ihm einige Felder und Werte mit dem Befehl HSET hinzu. HSET setzt den Wert eines Feldes in einem Hash. Der Befehl HSET benötigt drei Argumente: den Schlüssel des Hashes, das Feld und den Wert. Erstellen wir einen Hash namens myhash und setzen das Feld field1 auf den Wert value1:
HSET myhash field1 value1
Sie sollten die folgende Ausgabe sehen:
(integer) 1
Dies bedeutet, dass ein neues Feld zum Hash hinzugefügt wurde. Der Rückgabewert von HSET ist 1, wenn das Feld neu im Hash ist, und 0, wenn das Feld bereits existiert und der Wert aktualisiert wurde.
Fügen wir nun ein weiteres Feld hinzu:
HSET myhash field2 value2
(integer) 1
Rufen wir nun den Wert eines Feldes mit dem Befehl HGET ab. HGET ruft den Wert eines Feldes in einem Hash ab. Der Befehl HGET benötigt zwei Argumente: den Schlüssel des Hashes und das Feld. Rufen wir den Wert von field1 in myhash ab:
HGET myhash field1
Sie sollten die folgende Ausgabe sehen:
"value1"
Dies bestätigt, dass wir erfolgreich ein Feld-Wert-Paar im Hash gespeichert und abgerufen haben.
Versuchen wir, den Wert eines bestehenden Feldes zu aktualisieren:
HSET myhash field1 newvalue1
Sie sollten sehen:
(integer) 0
Dies zeigt an, dass das Feld bereits existierte und sein Wert aktualisiert wurde.
Rufen wir nun den Wert von field1 erneut ab:
HGET myhash field1
Sie sollten sehen:
"newvalue1"
Dies bestätigt, dass der Wert aktualisiert wurde.
Fügen wir dem Hash noch ein paar weitere Felder hinzu:
HSET myhash field3 value3
HSET myhash field4 value4
Denken Sie daran, redis-cli zu beenden, um sicherzustellen, dass Ihre Befehle protokolliert werden. Geben Sie ein:
exit
Dies bringt Sie zurück zur normalen Terminal-Eingabeaufforderung.
Zusammenfassung
In diesem Lab haben wir grundlegende Redis-Datenstrukturen erkundet, beginnend mit Strings. Wir haben gelernt, wie man sich mit redis-cli mit einem Redis-Server verbindet und dann den Befehl SET verwendet, um String-Werte zu speichern, die mit Schlüsseln verknüpft sind. Anschließend haben wir diese Werte mit dem Befehl GET abgerufen. Wir haben auch gesehen, wie Redis Zahlen behandelt, die als Strings gespeichert werden.
Darüber hinaus haben wir gelernt, Listen mit LPUSH und LRANGE zu erstellen und zu bearbeiten, Sets mit SADD und SMEMBERS zu verwalten und Hashes mit HSET und HGET zu erkunden. Diese Befehle ermöglichen es Ihnen, verschiedene Datentypen in Redis zu speichern und abzurufen, was es zu einem vielseitigen Werkzeug für verschiedene Anwendungen macht. Denken Sie daran, redis-cli nach jedem Schritt zu beenden, um sicherzustellen, dass Ihre Befehle zur Überprüfung protokolliert werden.


