„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Redis

Redis

Veröffentlicht am 06.11.2024
Durchsuche:163

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.

Überblick

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:

  1. Wenn sich die Informationen im Cache befinden, Cache-Treffer, ruft die Anwendung die Informationen von Redis ab und sendet sie an den Client
  2. Wenn nicht, Cache-Fehler, entnimmt die Anwendung die Informationen aus der Datenbank, sendet sie an den Client und speichert sie im Cache.

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.


Fragen

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

  2. 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
  1. Ich verwende WSL. Warum funktioniert der Redis-Server nicht auf meinem System?: Wenn Sie auf WSL laufen, können Sie Redis-Server mit ausführen
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

  1. Gibt es Client-Bibliotheken für Redis?: Eigentlich ja. Sie können sie auf der Redis-Website finden oder selbst eine erstellen.

Redis installieren

Unter Linux ist die Installation von Redis so einfach wie

sudo apt install redis

oder auf Mac:

brew install redis

Redis ausführen

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

  1. Schlüssel-Wert-Paare
  2. Listen
  3. Sets
  4. Hashes

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

Schlüssel-Wert-Paare sind in den meisten Programmiersprachen eine gängige Datenstruktur.

  1. In Python heißt es Wörterbücher oder kurz dict

  2. In Javascript heißt es Maps

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

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/ezekiel_77/redis-3njh?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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