Wenn Sie Redis eingerichtet und ausgeführt haben, können Sie damit beginnen!
Der einfachste Weg ist die Verwendung von redis-cli
, eine Anwendung, die bei der Installation von Redis installiert wird.
Es ist eine integrierte Möglichkeit, Befehle in Redis zu schreiben, ohne dafür eine Anwendung einrichten zu müssen.
Sie können mit redis-cli -h <host> -p <port> -a <password>
eine Verbindung zu einem Remote-Redis-Server herstellen
Sobald Sie sich in der Redis CLI-App befinden, können Sie damit beginnen, Daten darin zu speichern.
Fügen Sie einen Wert hinzu, indem Sie die Struktur SET <key> <value>
verwenden :
SET name "Flavio"
Wert abrufen
Rufen Sie einen Wert mit der Struktur GET <key>
ab :
Überprüfen, ob ein Schlüssel existiert
Wir können auch prüfen, ob ein Schlüssel existiert, indem wir EXISTS <key>
verwenden :
Der Befehl gibt entweder 1 (existiert) oder 0 (existiert nicht) zurück.
Setzen falls nicht vorhanden
Eine Variation von SET
ermöglicht es uns, einen Schlüssel nur dann zu setzen, wenn er noch nicht existiert:
SETNX name "Roger"
Schlüssel löschen
Löschen Sie einen Schlüssel mit DEL <key>
:
Vorhandene Schlüssel auflisten
Mit KEYS *
können Sie alle eingefügten Schlüssel auflisten
Oder Sie können mit einem Muster wie KEYS n*
filtern um nur Schlüssel aufzulisten, die mit n
beginnen , zum Beispiel.
Jeder gespeicherte Wert kann bis zu 512 MB enthalten.
Ablaufende Schlüssel
Ein Schlüssel kann vorübergehend gespeichert und nach Ablauf des Timers automatisch entfernt werden:
SETEX <key> <seconds> <value>
Sie können die verbleibende Zeit bis zum Löschen eines Schlüssels mit TTL <key>
abrufen
In diesem Beispiel habe ich einen name
gesetzt Schlüssel mit Flavio
als Wert, und mit TTL kann ich überprüfen, wie viel Zeit verbleibt, bis der Schlüssel den Wert zurückgibt. Sobald der Timer abgelaufen ist, ergibt sich ein Nullwert (nil
):
Sie können einen vorhandenen Schlüssel auch mit EXPIRE <key> seconds>
so einstellen, dass er abläuft .
Erhöhen und verringern
Ein numerischer Wert kann mit INCR <key>
erhöht werden und dekrementiert mit DECR <key>
. Sie können auch INCRBY <key> <amount>
verwenden und DECRBY <key> <amount>
um einen Schlüsselwert um einen bestimmten Betrag zu erhöhen:
Diese Befehle eignen sich sehr gut für viele gleichzeitige Operationen, bei denen viele Clients mit denselben Daten interagieren, um atomare Transaktionen sicherzustellen .
Das häufigste Beispiel ist, wenn 2 verschiedene Clients versuchen, dieselbe Nummer zu erhöhen.
Auf einer Datenbank wie PostgreSQL oder MongoDB erhalten Sie zuerst den Zahlenwert, inkrementieren ihn und stellen dann eine Anfrage an den Server, um ihn zu inkrementieren.
Angenommen, der Wert ist 1
. Wenn zwei Clients den Wert mit GET
lesen dann rufen sie SET
auf um es unabhängig zu erhöhen, wird am Ende, wenn nichts die gleichzeitige Änderung verhindert, das Ergebnis 2
sein . Redis verhindert dieses Problem im Stammverzeichnis.
Komplexere Datenstrukturen
Bisher haben wir mit einfachen Datentypen wie Integers und Strings gearbeitet.
Redis kann komplexere Strukturen unterstützen.
Sehen wir uns in den nächsten Lektionen an, wie man damit arbeitet:
- Listen
- Sätze
- Sortierte Sätze
- Hashes