Grundlegende Key-Value-Operationen in Redis

RedisBeginner
Jetzt üben

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.

  1. Verbindung zu Redis herstellen:

    Öffnen Sie ein Terminal in der LabEx-VM. Sie sollten sich bereits im Verzeichnis ~/project befinden. Verbinden Sie sich mit dem Redis-Server über den Befehl redis-cli:

    redis-cli
    

    Sie sollten nun die Redis-Eingabeaufforderung sehen: 127.0.0.1:6379>. Dies signalisiert eine erfolgreiche Verbindung zum Redis-Server.

  2. Ein Schlüssel-Wert-Paar setzen:

    Lassen Sie uns ein Schlüssel-Wert-Paar mit dem Befehl SET erstellen. Wir setzen den Schlüssel mykey auf den Wert myvalue.

    SET mykey myvalue
    

    Redis antwortet mit:

    OK
    

    Dies bestätigt, dass das Schlüssel-Wert-Paar erfolgreich gespeichert wurde.

  3. 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 von mykey abrufen:

    GET mykey
    

    Redis antwortet mit:

    "myvalue"
    

    Dies zeigt, dass wir den mit dem Schlüssel mykey verknüpften Wert erfolgreich abgerufen haben.

  4. 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:1001 als Schlüssel und John als Wert.

    SET user:1001 John
    

    Redis antwortet mit:

    OK
    
  5. Den Wert des neuen Schlüssels abrufen:

    Rufen wir nun den Wert des Schlüssels user:1001 ab:

    GET user:1001
    

    Redis antwortet mit:

    "John"
    

    Sie haben nun erfolgreich Schlüssel-Wert-Paare in Redis gesetzt und abgerufen.

  6. 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
    

    Screenshot der Redis CLI-Sitzung

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.

  1. Verbindung zu Redis herstellen:

    Verbinden Sie sich mit dem Redis-Server über den Befehl redis-cli:

    redis-cli
    

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

  2. Existenz eines vorhandenen Schlüssels prüfen:

    Im vorherigen Schritt haben wir den Schlüssel mykey gesetzt. Prüfen wir mit dem Befehl EXISTS, ob er existiert:

    EXISTS mykey
    

    Redis antwortet mit:

    (integer) 1
    

    Eine Antwort von 1 zeigt an, dass der Schlüssel mykey in Redis vorhanden ist.

  3. 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 nonexistentkey
    

    Redis antwortet mit:

    (integer) 0
    

    Eine Antwort von 0 zeigt an, dass der Schlüssel nonexistentkey in Redis nicht existiert.

  4. 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.

  1. Verbindung zu Redis herstellen:

    Verbinden Sie sich mit dem Redis-Server über den Befehl redis-cli:

    redis-cli
    

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

  2. Einen vorhandenen Schlüssel löschen:

    In den vorherigen Schritten haben wir den Schlüssel mykey gesetzt. Löschen wir ihn mit dem Befehl DEL:

    DEL mykey
    

    Redis antwortet mit:

    (integer) 1
    

    Eine Antwort von (integer) 1 zeigt an, dass ein Schlüssel erfolgreich gelöscht wurde.

  3. Einen nicht vorhandenen Schlüssel löschen:

    Versuchen wir, einen Schlüssel zu löschen, der nicht existiert, wie zum Beispiel nonexistentkey:

    DEL nonexistentkey
    

    Redis antwortet mit:

    (integer) 0
    

    Eine Antwort von (integer) 0 zeigt an, dass kein Schlüssel gelöscht wurde (da der Schlüssel nicht existierte).

  4. Mehrere Schlüssel löschen:

    Der Befehl DEL kann auch verwendet werden, um mehrere Schlüssel gleichzeitig zu löschen. Löschen wir den zuvor erstellten Schlüssel user:1001 und versuchen wir gleichzeitig, nonexistentkey mit demselben Befehl zu löschen:

    DEL user:1001 nonexistentkey
    

    Redis antwortet mit:

    (integer) 1
    

    Eine Antwort von (integer) 1 zeigt an, dass ein Schlüssel erfolgreich gelöscht wurde (user:1001) und der Versuch, nonexistentkey zu löschen, ignoriert wurde, da er nicht existierte.

  5. 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.

  1. Verbindung zu Redis herstellen:

    Verbinden Sie sich mit dem Redis-Server über den Befehl redis-cli:

    redis-cli
    

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

  2. 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 EX zu setzen. Setzen wir den Schlüssel sessionkey auf den Wert sessionvalue mit einer Ablaufzeit von 15 Sekunden:

    SET sessionkey sessionvalue EX 15
    

    Redis antwortet mit:

    OK
    

    Dieser Befehl setzt das Schlüssel-Wert-Paar und die Ablaufzeit in einer Operation, was effizienter ist als die Verwendung separater Befehle.

  3. TTL des mit EX gesetzten Schlüssels prüfen:

    Prüfen wir die verbleibende Lebensdauer (Time To Live, TTL) für den sessionkey:

    TTL sessionkey
    

    Redis 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.

  4. 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 tempkey auf den Wert tempvalue:

    SET tempkey tempvalue
    

    Redis antwortet mit:

    OK
    
  5. Ablaufzeit mit dem Befehl EXPIRE festlegen:

    Legen wir nun eine Ablaufzeit von 10 Sekunden für den tempkey mit dem Befehl EXPIRE fest:

    EXPIRE tempkey 10
    

    Redis antwortet mit:

    (integer) 1
    

    Eine Antwort von (integer) 1 zeigt an, dass die Ablaufzeit erfolgreich festgelegt wurde.

  6. Verbleibende Lebensdauer (TTL) prüfen:

    Um die verbleibende Lebensdauer (TTL) für den tempkey zu prüfen, verwenden Sie den Befehl TTL:

    TTL tempkey
    

    Redis 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, gibt TTL -2 bzw. -1 zurück.

  7. 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.