Einführung
In diesem Lab lernen Sie die grundlegenden Key-Value-Operationen in Redis kennen. Wir verwenden die Befehlszeilenschnittstelle redis-cli, um mit dem Redis-Server zu interagieren und grundlegende Aufgaben wie das Setzen, Abrufen, Prüfen der Existenz, Löschen und Festlegen von Ablaufzeiten für Schlüssel durchzuführen. Am Ende dieses Labs werden Sie ein fundiertes Verständnis dafür haben, wie man Redis als einfachen Datenspeicher nutzt.
Schlüssel-Wert-Paare setzen und abrufen
In diesem Schritt konzentrieren wir uns auf die Kernoperationen des Setzens und Abrufens von Schlüssel-Wert-Paaren in Redis. Dies bildet die Grundlage für die Nutzung von Redis als Datenspeicher.
Redis speichert Daten als Schlüssel-Wert-Paare, ähnlich wie ein Wörterbuch (Dictionary). Der Schlüssel ist ein eindeutiger Bezeichner, und der Wert ist die mit diesem Schlüssel verknüpfte Information.
Verbindung zu Redis herstellen:
Öffnen Sie ein Terminal in der LabEx-VM. Sie sollten sich bereits im Verzeichnis
~/projectbefinden. Verbinden Sie sich mit dem Redis-Server über den Befehlredis-cli:redis-cliSie sollten nun die Redis-Eingabeaufforderung sehen:
127.0.0.1:6379>. Dies signalisiert eine erfolgreiche Verbindung zum Redis-Server.Ein Schlüssel-Wert-Paar setzen:
Lassen Sie uns ein Schlüssel-Wert-Paar mit dem Befehl
SETerstellen. Wir setzen den Schlüsselmykeyauf den Wertmyvalue.SET mykey myvalueRedis antwortet mit:
OKDies bestätigt, dass das Schlüssel-Wert-Paar erfolgreich gespeichert wurde.
Den Wert eines Schlüssels abrufen:
Um den mit einem Schlüssel verknüpften Wert abzurufen, verwenden Sie den Befehl
GET. Lassen Sie uns den Wert vonmykeyabrufen:GET mykeyRedis antwortet mit:
"myvalue"Dies zeigt, dass wir den mit dem Schlüssel
mykeyverknüpften Wert erfolgreich abgerufen haben.Ein weiteres Schlüssel-Wert-Paar setzen:
Lassen Sie uns ein weiteres Schlüssel-Wert-Paar mit einem anderen Schlüssel und Wert erstellen. Diesmal verwenden wir
user:1001als Schlüssel undJohnals Wert.SET user:1001 JohnRedis antwortet mit:
OKDen Wert des neuen Schlüssels abrufen:
Rufen wir nun den Wert des Schlüssels
user:1001ab:GET user:1001Redis antwortet mit:
"John"Sie haben nun erfolgreich Schlüssel-Wert-Paare in Redis gesetzt und abgerufen.
Redis CLI beenden:
Es ist wichtig, die Redis CLI nach jedem Schritt zu beenden, damit die Befehle korrekt protokolliert werden. Geben Sie dazu ein:
exit
Existenz von Schlüsseln prüfen
In diesem Schritt lernen wir, wie man mit dem Befehl EXISTS prüft, ob ein Schlüssel in Redis vorhanden ist. Dies ist nützlich, um festzustellen, ob ein Schlüssel bereits gesetzt wurde, bevor man versucht, seinen Wert abzurufen oder andere Operationen durchzuführen.
Verbindung zu Redis herstellen:
Verbinden Sie sich mit dem Redis-Server über den Befehl
redis-cli:redis-cliSie sollten die Redis-Eingabeaufforderung
127.0.0.1:6379>sehen.Existenz eines vorhandenen Schlüssels prüfen:
Im vorherigen Schritt haben wir den Schlüssel
mykeygesetzt. Prüfen wir mit dem BefehlEXISTS, ob er existiert:EXISTS mykeyRedis antwortet mit:
(integer) 1Eine Antwort von
1zeigt an, dass der Schlüsselmykeyin Redis vorhanden ist.Existenz eines nicht vorhandenen Schlüssels prüfen:
Prüfen wir nun, ob ein Schlüssel existiert, den wir nicht gesetzt haben. Zum Beispiel einen Schlüssel namens
nonexistentkey:EXISTS nonexistentkeyRedis antwortet mit:
(integer) 0Eine Antwort von
0zeigt an, dass der Schlüsselnonexistentkeyin Redis nicht existiert.Redis CLI beenden:
Beenden Sie die Redis CLI, um sicherzustellen, dass die Befehle protokolliert werden:
exit
Schlüssel löschen
In diesem Schritt lernen wir, wie man Schlüssel mit dem Befehl DEL aus Redis löscht. Dies ist für die Datenverwaltung und das Entfernen veralteter oder unerwünschter Einträge unerlässlich.
Verbindung zu Redis herstellen:
Verbinden Sie sich mit dem Redis-Server über den Befehl
redis-cli:redis-cliSie sollten die Redis-Eingabeaufforderung
127.0.0.1:6379>sehen.Einen vorhandenen Schlüssel löschen:
In den vorherigen Schritten haben wir den Schlüssel
mykeygesetzt. Löschen wir ihn mit dem BefehlDEL:DEL mykeyRedis antwortet mit:
(integer) 1Eine Antwort von
(integer) 1zeigt an, dass ein Schlüssel erfolgreich gelöscht wurde.Einen nicht vorhandenen Schlüssel löschen:
Versuchen wir, einen Schlüssel zu löschen, der nicht existiert, wie zum Beispiel
nonexistentkey:DEL nonexistentkeyRedis antwortet mit:
(integer) 0Eine Antwort von
(integer) 0zeigt an, dass kein Schlüssel gelöscht wurde (da der Schlüssel nicht existierte).Mehrere Schlüssel löschen:
Der Befehl
DELkann auch verwendet werden, um mehrere Schlüssel gleichzeitig zu löschen. Löschen wir den zuvor erstellten Schlüsseluser:1001und versuchen wir gleichzeitig,nonexistentkeymit demselben Befehl zu löschen:DEL user:1001 nonexistentkeyRedis antwortet mit:
(integer) 1Eine Antwort von
(integer) 1zeigt an, dass ein Schlüssel erfolgreich gelöscht wurde (user:1001) und der Versuch,nonexistentkeyzu löschen, ignoriert wurde, da er nicht existierte.Redis CLI beenden:
Beenden Sie die Redis CLI:
exit
Ablaufzeit für Schlüssel festlegen
In diesem Schritt lernen wir, wie man eine Ablaufzeit für einen Schlüssel in Redis festlegt, sowohl mit dem Befehl EXPIRE als auch mit dem Befehl SET unter Verwendung des Parameters EX. Dies ist nützlich, um Daten nach einem bestimmten Zeitraum automatisch zu entfernen, wie etwa bei Sitzungsdaten oder temporären Caches.
Verbindung zu Redis herstellen:
Verbinden Sie sich mit dem Redis-Server über den Befehl
redis-cli:redis-cliSie sollten die Redis-Eingabeaufforderung
127.0.0.1:6379>sehen.Schlüssel-Wert-Paar mit Ablaufzeit setzen (Methode 1: SET mit EX-Parameter):
Redis ermöglicht es Ihnen, ein Schlüssel-Wert-Paar mit einer Ablaufzeit in einem einzigen Befehl unter Verwendung des Parameters
EXzu setzen. Setzen wir den Schlüsselsessionkeyauf den Wertsessionvaluemit einer Ablaufzeit von 15 Sekunden:SET sessionkey sessionvalue EX 15Redis antwortet mit:
OKDieser Befehl setzt das Schlüssel-Wert-Paar und die Ablaufzeit in einer Operation, was effizienter ist als die Verwendung separater Befehle.
TTL des mit EX gesetzten Schlüssels prüfen:
Prüfen wir die verbleibende Lebensdauer (Time To Live, TTL) für den
sessionkey:TTL sessionkeyRedis antwortet mit der Anzahl der verbleibenden Sekunden bis zum Ablauf des Schlüssels (z. B.
(integer) 14). Der Wert ist aufgrund der verstrichenen Zeit seit dem Setzen des Schlüssels etwas geringer als 15.Schlüssel-Wert-Paar setzen (Methode 2: Verwendung des Befehls EXPIRE separat):
Alternativ können Sie zuerst ein Schlüssel-Wert-Paar setzen und dann die Ablaufzeit separat festlegen. Setzen wir den Schlüssel
tempkeyauf den Werttempvalue:SET tempkey tempvalueRedis antwortet mit:
OKAblaufzeit mit dem Befehl EXPIRE festlegen:
Legen wir nun eine Ablaufzeit von 10 Sekunden für den
tempkeymit dem BefehlEXPIREfest:EXPIRE tempkey 10Redis antwortet mit:
(integer) 1Eine Antwort von
(integer) 1zeigt an, dass die Ablaufzeit erfolgreich festgelegt wurde.Verbleibende Lebensdauer (TTL) prüfen:
Um die verbleibende Lebensdauer (TTL) für den
tempkeyzu prüfen, verwenden Sie den BefehlTTL:TTL tempkeyRedis antwortet mit der Anzahl der verbleibenden Sekunden bis zum Ablauf des Schlüssels (z. B.
(integer) 9). Der Wert kann aufgrund der verstrichenen Zeit seit dem Festlegen der Ablaufzeit etwas geringer als 10 sein. Wenn der Schlüssel nicht existiert oder keine Ablaufzeit hat, gibtTTL-2bzw.-1zurück.Redis CLI beenden:
Beenden Sie die Redis CLI:
exit
Zusammenfassung
In diesem Lab haben Sie die grundlegenden Key-Value-Operationen in Redis mithilfe der Befehlszeilenschnittstelle redis-cli kennengelernt. Sie haben gelernt, wie man eine Verbindung zum Redis-Server herstellt und den Befehl SET verwendet, um Daten als Schlüssel-Wert-Paare zu speichern. Sie haben außerdem das Abrufen von Werten mit dem Befehl GET geübt. Darüber hinaus haben Sie gelernt, wie man mit dem Befehl EXISTS die Existenz von Schlüsseln prüft, Schlüssel mit dem Befehl DEL löscht und Ablaufzeiten für Schlüssel festlegt – sowohl mit dem Befehl SET unter Verwendung des EX-Parameters als auch mit dem Befehl EXPIRE. Der SET-Befehl mit dem EX-Parameter ist besonders nützlich, da er es ermöglicht, ein Schlüssel-Wert-Paar mit Ablaufzeit in einer einzigen, effizienten Operation zu setzen. Dies sind die Bausteine für die Nutzung von Redis als einfachen und effizienten Datenspeicher.


