Redis ist eine NOSQL-Datenbank, in der Daten in Schlüssel-Wert-Paaren gespeichert werden.
Redis speichert Daten im Hauptspeicher, was bedeutet, dass es schnell, aber flüchtig ist, im Gegensatz zu Datenbanksystemen wie PostgreSQL, die Daten auf der Festplatte speichern.
In einer Anwendung mit einem Server und einer Datenbank führt der Zugriff auf Informationen in der Datenbank zu Latenz.
Schlüsselwertdatenbanken wie Redis werden oft vor diesen Datenbanken gespeichert und Zugriffsvorgänge erfordern zwei Schritte:
Mit diesen beiden Schritten und angesichts der Tatsache, dass der Hauptspeicher eine geringere Latenz als die Festplatte aufweist, können wir sagen, dass Redis zum Speichern und Zugreifen auf häufige, aktuelle Daten und teure Vorgänge verwendet werden kann, wodurch Anwendungen 10 bis 50-mal schneller werden.
Es ist daher eine Tatsache, dass Redis (oder Redis-ähnliche Datenbanken) unverzichtbar ist, wenn Sie überhaupt eine Anwendung erstellen möchten, die in Zukunft skalierbar sein soll.
Ist Redis Open Source?: Ja, Redis ist Open Source mit einer besonderen Art von Lizenz, aber es gibt Alternativen wie KeyDB von Snapchat und Memcached, die Open Source sind. KeyDB ist ein Fork von Redis, kann aber derzeit nur unter Linux ausgeführt werden.
Unterstützt Redis Windows?: Nein, Redis unterstützt Windows nicht, aber Sie können WSL/Ubuntu installieren und Redis mit installieren
sudo apt install redis
redis-server --port 6000
wobei 6000 der Port auf Ihrem lokalen Server ist, auf dem Sie es ausführen möchten. (d. h. 127.0.0.1:6000).
Die meisten Probleme sind darauf zurückzuführen, dass der Standardport, den der Redis-Server verwendet, bereits verwendet wird
Unter Linux ist die Installation von Redis so einfach wie
sudo apt install redis
oder auf Mac:
brew install redis
Sie benötigen 2 Instanzen Ihres Terminals auf
auf dem ersten, der Ihren Server ausführt
redis-server -port
und auf dem zweiten, um Ihren Client auszuführen
redis-cli
Beim Erstellen einer Web-App müssen Sie den Client nicht ausführen aber der Server muss ausgeführt werden
Redis-Konzepte
Es gibt 3 Hauptkonzepte in Redis, die Sie verstehen sollten oder 4
Alle anderen Datenstrukturen sind hauptsächlich eine erweiterte Implementierung der ersten
Mit Liste meinte ich Array und nicht verknüpfte Liste und so nennt es Redis.
Schlüssel-Wert-Paare sind in den meisten Programmiersprachen eine gängige Datenstruktur.
In Python heißt es Wörterbücher oder kurz dict
In Javascript heißt es Maps
In C# heißt es Dictionaries
Es gibt 6 Hauptoperationen für Schlüssel-Wert-Paare in Redis
Operationen | Erläuterungen | Beispiele | Weitere Erläuterungen |
---|---|---|---|
SATZ | Erstellt ein Schlüssel-Wert-Paar | SET-Namen John | Legt den Schlüssel zum Zuordnen zum Wert fest |
ERHALTEN | Ruft den Wert für den Schlüssel ab | GET-Namen | Dies gibt John zurück |
DEL | Löscht das Schlüssel-Wert-Paar | DEL-Name | Dadurch wird der Name des Schlüssel-Wert-Paares aus der Datenbank entfernt |
EXISTIERT | Überprüft, ob ein Schlüssel in der Redis-Datenbank vorhanden ist | EXISTS Name | gibt 1 oder 0 zurück, entsprechend True oder False |
FLUSHALL | Löscht den gesamten Cache | FLUSHALL | mehr oder weniger wie DROP TABLE in Postgres |
SCHLÜSSEL * | Gibt alle Schlüssel in der Datenbank zurück | SCHLÜSSEL * |
Es gibt auch zeitbasierte Operationen. Bei zeitbasierten Vorgängen befindet sich der Schlüssel nur für eine festgelegte Zeitspanne im Cache. Nach Ablauf der Zeit löscht der Cache den Schlüssel.
Es gibt zwei hauptsächliche zeitbasierte Operationen
Operationen | Erläuterungen | Beispiele | Weitere Erläuterungen |
---|---|---|---|
ERLÖSCHEN | Lässt einen Schlüssel ab, nachdem er definiert wurde | EXPIRE-Name 10 | Löscht den Schlüsselwertnamen nach 10 Sekunden. Der Schlüssel muss mit SET definiert werden, bevor EXPIRE aufgerufen wird. Eine gängige Alternative ist; |
SETEX | Lässt einen Schlüssel bei der Definition ab | SETEX Alter 30 15 | Setzt das Schlüsselalter auf den Wert 30 und löscht anschließend das Schlüssel-Wert-Paar nach 15 Sekunden |
TTL | Zeit zu leben | TTL-Alter | Gibt die verbleibende Zeit bis zum Löschen des Altersschlüssels zurück |
Der Blog wird jetzt zu lang, ich werde über Listen, Sets, Hashmaps und auch mögliche Interviewfragen zu Redis in einem anderen Blog.
Wenn Sie Fragen haben, kommentieren Sie diese bitte unten. Ich werde mein Bestes geben, um sie zu beantworten ⭐. Viel Spaß beim Codieren
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3