Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Transaktionen | Erweiterte Funktionen und Sicherheit
Einführung in Redis

bookTransaktionen

Alle Befehle innerhalb der Transaktion werden gleichzeitig ausgeführt. Falls einer der Befehle fehlschlägt, wird keiner von ihnen ausgeführt. Dies gewährleistet die Datenkonsistenz, indem partielle oder ungültige Änderungen verhindert werden, selbst wenn Fehler auftreten.

Verwendung von Transaktionen

Transaktionen werden häufig eingesetzt, wenn mehrere Operationen auf Daten gemeinsam ausgeführt werden müssen, wie etwa das Inkrementieren eines Zählers und das Schreiben zugehöriger Daten in einen anderen Schlüssel. Durch den Einsatz von Transaktionen wird sichergestellt, dass entweder alle Operationen abgeschlossen werden oder keine, wodurch die Datenintegrität erhalten bleibt.

Zentrale Befehle für Transaktionen

Um eine Transaktion in Redis zu starten, wird der Befehl MULTI verwendet. Damit wird Redis mitgeteilt, dass alle nachfolgenden Befehle Teil der Transaktion sein sollen.

Nach dem Ausführen von MULTI stellt Redis die Befehle, die in die Transaktion aufgenommen werden sollen, in eine Warteschlange.

MULTI
SET key1 "value1"
SET key2 "value2"

In diesem Beispiel werden die Befehle SET key1 "value1" und SET key2 "value2" nicht sofort ausgeführt. Stattdessen werden sie zur Transaktionswarteschlange hinzugefügt und gemeinsam ausgeführt, wenn der Befehl EXEC aufgerufen wird.

Ausführen einer Transaktion

Um alle Befehle in der Transaktion auszuführen, wird der Befehl EXEC verwendet. Dadurch werden alle in der Transaktion gespeicherten Befehle ausgeführt.

EXEC

Nach dem Aufruf von EXEC werden beide SET-Operationen ausgeführt.

Abbrechen einer Transaktion

Um eine Transaktion vor der Ausführung zu abbrechen, den Befehl DISCARD verwenden. Dadurch werden alle Befehle in der Transaktionswarteschlange gelöscht, sodass sie nicht ausgeführt werden.

DISCARD

Nach dem Aufruf von DISCARD werden alle Befehle, die seit MULTI zur Transaktion hinzugefügt wurden, verworfen und nicht ausgeführt.

Überwachung von Schlüsseln während einer Transaktion

Während einer Transaktion werden Befehle in die Warteschlange gestellt, aber nicht sofort ausgeführt. Mit dem Befehl WATCH können bestimmte Schlüssel überwacht werden. Wenn einer dieser Schlüssel vor der Ausführung der Transaktion verändert wird, wird die Transaktion abgebrochen, um Datenkonflikte zu vermeiden.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

In diesem Beispiel wird die Transaktion nicht ausgeführt, wenn sich der Wert von key1 ändert, bevor der Befehl EXEC aufgerufen wird. Dies gewährleistet die Datenkonsistenz, insbesondere wenn mehrere Clients versuchen, denselben Schlüssel gleichzeitig zu ändern.

1. Was passiert, wenn einer der Befehle in einer Redis-Transaktion fehlschlägt?

2. Welcher Befehl sollte verwendet werden, um eine Redis-Transaktion zu starten?

question mark

Was passiert, wenn einer der Befehle in einer Redis-Transaktion fehlschlägt?

Select the correct answer

question mark

Welcher Befehl sollte verwendet werden, um eine Redis-Transaktion zu starten?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookTransaktionen

Swipe um das Menü anzuzeigen

Alle Befehle innerhalb der Transaktion werden gleichzeitig ausgeführt. Falls einer der Befehle fehlschlägt, wird keiner von ihnen ausgeführt. Dies gewährleistet die Datenkonsistenz, indem partielle oder ungültige Änderungen verhindert werden, selbst wenn Fehler auftreten.

Verwendung von Transaktionen

Transaktionen werden häufig eingesetzt, wenn mehrere Operationen auf Daten gemeinsam ausgeführt werden müssen, wie etwa das Inkrementieren eines Zählers und das Schreiben zugehöriger Daten in einen anderen Schlüssel. Durch den Einsatz von Transaktionen wird sichergestellt, dass entweder alle Operationen abgeschlossen werden oder keine, wodurch die Datenintegrität erhalten bleibt.

Zentrale Befehle für Transaktionen

Um eine Transaktion in Redis zu starten, wird der Befehl MULTI verwendet. Damit wird Redis mitgeteilt, dass alle nachfolgenden Befehle Teil der Transaktion sein sollen.

Nach dem Ausführen von MULTI stellt Redis die Befehle, die in die Transaktion aufgenommen werden sollen, in eine Warteschlange.

MULTI
SET key1 "value1"
SET key2 "value2"

In diesem Beispiel werden die Befehle SET key1 "value1" und SET key2 "value2" nicht sofort ausgeführt. Stattdessen werden sie zur Transaktionswarteschlange hinzugefügt und gemeinsam ausgeführt, wenn der Befehl EXEC aufgerufen wird.

Ausführen einer Transaktion

Um alle Befehle in der Transaktion auszuführen, wird der Befehl EXEC verwendet. Dadurch werden alle in der Transaktion gespeicherten Befehle ausgeführt.

EXEC

Nach dem Aufruf von EXEC werden beide SET-Operationen ausgeführt.

Abbrechen einer Transaktion

Um eine Transaktion vor der Ausführung zu abbrechen, den Befehl DISCARD verwenden. Dadurch werden alle Befehle in der Transaktionswarteschlange gelöscht, sodass sie nicht ausgeführt werden.

DISCARD

Nach dem Aufruf von DISCARD werden alle Befehle, die seit MULTI zur Transaktion hinzugefügt wurden, verworfen und nicht ausgeführt.

Überwachung von Schlüsseln während einer Transaktion

Während einer Transaktion werden Befehle in die Warteschlange gestellt, aber nicht sofort ausgeführt. Mit dem Befehl WATCH können bestimmte Schlüssel überwacht werden. Wenn einer dieser Schlüssel vor der Ausführung der Transaktion verändert wird, wird die Transaktion abgebrochen, um Datenkonflikte zu vermeiden.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

In diesem Beispiel wird die Transaktion nicht ausgeführt, wenn sich der Wert von key1 ändert, bevor der Befehl EXEC aufgerufen wird. Dies gewährleistet die Datenkonsistenz, insbesondere wenn mehrere Clients versuchen, denselben Schlüssel gleichzeitig zu ändern.

1. Was passiert, wenn einer der Befehle in einer Redis-Transaktion fehlschlägt?

2. Welcher Befehl sollte verwendet werden, um eine Redis-Transaktion zu starten?

question mark

Was passiert, wenn einer der Befehle in einer Redis-Transaktion fehlschlägt?

Select the correct answer

question mark

Welcher Befehl sollte verwendet werden, um eine Redis-Transaktion zu starten?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
some-alt