Erstellen von Transaktionen in Redis

Erstellen von Transaktionen in Redis
Wenn Sie Redis ernst meinen, möchten Sie Transaktionen verwenden, um Ihre Daten zu verwalten. Redis -Transaktionen unterscheiden sich nicht sehr von Transaktionen in einer relationalen Datenbank.

Eine Datenbank -Transaktion bezieht sich auf eine einzelne Arbeitseinheit, die aus einzelnen bis mehreren Abfragen besteht. In Fällen kann eine Operation nur als Transaktion klassifiziert werden.

Wir werden uns damit nicht befassen, aber wir werden lernen, wie man den Watch -Befehl neben Redis -Transaktionen für diesen verwendet.

Was sind Transaktionen?

In Redis umfassen Transaktionen vier Hauptbefehle: Watch, Exec, Defard und Multi.

Mit den obigen Befehlen können Sie einen Block öffnen und mehrere Befehle gleichzeitig hinzufügen. Nach Abschluss führen Sie die Befehle als eine einzige Einheit aus.

Damit eine Transaktion erfolgreich ist, stellt Redis sicher, dass:

  1. Alle in einer Transaktionseinheit angegebenen Befehle werden nacheinander ausgeführt. Daher der erste Lauf, der zuerst läuft.
  2. Alle Befehle in einer Transaktionseinheit müssen erfolgreich ausgeführt werden. Wenn einer der Befehle in der Einheit fehlschlägt, schlägt der gesamte Transaktionsblock ebenfalls fehl. Diese Funktion wird als Atomic Command Execution bezeichnet
  3. Drittens werden Befehle in einer Transaktion serialisiert. Daher kann ein Client kein Server sein, während eine Transaktionseinheit ausgeführt wird.

Redis erstellen Transaktion

Sie erstellen eine Transaktionseinheit mit dem Multi -Befehl. Der Multi -Befehl wird OK zurückgegeben. Sie können alle nacheinander alle Transaktionsbefehle hinzufügen.

Anstatt die Befehle auszuführen, stellt Redis sie im Einfügen auf, bis Sie sie anrufen.

Ein Beispiel ist wie unten gezeigt:

127.0.0.1: 6379> Multi
OK

Redis Execute Transaction Unit

Redis wird die Befehle in einer Transaktionseinheit anstellen, bis Sie sie manuell ausführen.

Wir können dies mit dem Exec -Befehl tun. Dies fordert Redis an.

Eine Beispielnutzung ist wie unten gezeigt:

127.0.0.1: 6379> Newkey "100" setzen
IN WARTESCHLANGE
127.0.0.1: 6379> inkret
IN WARTESCHLANGE
127.0.0.1: 6379> NEWKEY ERHALTEN
IN WARTESCHLANGE
127.0.0.1: 6379>

Sie werden feststellen, dass jeder ausgeführte Befehl in die Warteschlange ist. Ein Befehl in der Warteschlange ist ein Befehl, der ausführen soll, nachdem Exec angerufen wurde.

Um es auszuführen, rufen Sie Exec als:

127.0.0.1: 6379> Exec
1) OK
2) (Ganzzahl) 101
3) "101"

Dies sollte alle Befehle ausführen und die resultierenden Werte zurückgeben.

Redis entfernen Befehlswarteschlangen

Angenommen, Sie möchten Ihre Befehlswarteschlange reinigen und alle geplanten Befehle spülen? Dafür können Sie den Befehl entsorgen wie gezeigt verwenden:

127.0.0.1: 6379> Multi
OK
127.0.0.1: 6379> Newkey "100" setzen
IN WARTESCHLANGE
127.0.0.1: 6379> inkret
IN WARTESCHLANGE
127.0.0.1: 6379> NEWKEY ERHALTEN
IN WARTESCHLANGE
127.0.0.1: 6379> wegwerfen
OK

Nach dem Ausführen des Befehlungsbefehls kehrt Redis OK zurück und schließt die Transaktionseinheit.

Abschluss

In diesem kurzen Artikel wird beschrieben, wie die Redis -Transaktionen in Ihrer Datenbank arbeiten und verwenden. Überprüfen Sie die folgende Ressource, um mehr zu erfahren.

https: // Redis.IO/Themen/Transaktionen