Heim >Web-Frontend >js-Tutorial >Redis
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 erfolgen in zwei Schritten:
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 wollen, 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
oderauf dem Mac:
brew install redis
Sie benötigen zwei Instanzen Ihres Terminals auf
auf dem ersten, der Ihren Server ausführt
redis-server -port <portnumber> </portnumber>
und auf der 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 drei 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 Redis es.
Schlüssel-Wert-Paare sind in den meisten Programmiersprachen eine gängige Datenstruktur.
In Python heißt es Wörterbücher oder kurz Dikt
In Javascript heißt es Maps
In C# heißt es Dictionaries
Es gibt 6 Hauptoperationen für Schlüssel-Wert-Paare in Redis
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
SET | Creates a key-value pair | SET name John | Sets key to map to value |
GET | Gets value for key | GET name | This returns John |
DEL | Deletes the key value pair | DEL name | This removesthe key value pair name from the database |
EXISTS | Checks if a key exists in the redis database | EXISTS name | returns 1 or 0 corresponding to True or False |
FLUSHALL | Clears the entire cache | FLUSHALL | more or less like DROP TABLE in postgres |
KEYS * | Returns all the keys in the database | KEYS * |
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 Vorgänge
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
EXPIRE | Expires a key after being defined | EXPIRE name 10 | Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is; |
SETEX | Expires a key upon definition | SETEX age 30 15 | Sets the key age to value 30 and thereafter deleted the key-value pair after 15s |
TTL | Time To Live | TTL age | Returns the time remaining before deletion of the age key |
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
Das obige ist der detaillierte Inhalt vonRedis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!