Transacties
Alle commando's binnen de transactie worden gelijktijdig uitgevoerd. Als één van de commando's faalt, wordt geen van allen uitgevoerd. Dit waarborgt de dataconsistentie door gedeeltelijke of ongeldige wijzigingen te voorkomen, zelfs als er fouten optreden.
Hoe transacties worden gebruikt
Transacties worden vaak toegepast wanneer meerdere bewerkingen op data samen moeten worden uitgevoerd, zoals het verhogen van een teller en het schrijven van gerelateerde data naar een andere sleutel. Door transacties te gebruiken wordt gegarandeerd dat alle bewerkingen worden voltooid, of geen enkele, waardoor de dataintegriteit behouden blijft.
Kerncommando's voor transacties
Om een transactie in Redis te starten, gebruik het commando MULTI. Hiermee geeft u aan Redis door dat alle volgende commando's onderdeel zijn van de transactie.
Zodra u MULTI uitvoert, plaatst Redis de commando's die u wilt opnemen in de transactie in een wachtrij.
MULTI
SET key1 "value1"
SET key2 "value2"
In dit voorbeeld worden de commando's SET key1 "value1" en SET key2 "value2" niet onmiddellijk uitgevoerd. In plaats daarvan worden ze toegevoegd aan de transactiequeue en gezamenlijk uitgevoerd wanneer het commando EXEC wordt aangeroepen.
Een transactie uitvoeren
Om alle commando's in de transactie uit te voeren, gebruik het commando EXEC. Dit voert elk gequeue'd commando in de transactie uit.
EXEC
Na het aanroepen van EXEC, zullen beide SET-bewerkingen worden uitgevoerd.
Een transactie annuleren
Indien gewenst kan een transactie vóór uitvoering worden geannuleerd met het DISCARD-commando. Dit leegt alle commando's in de transactiewachtrij, zodat deze niet worden uitgevoerd.
DISCARD
Na het aanroepen van DISCARD worden alle opdrachten die aan de transactie zijn toegevoegd sinds MULTI verworpen en niet uitgevoerd.
Sleutels monitoren tijdens een transactie
Tijdens een transactie worden opdrachten in de wachtrij geplaatst maar niet onmiddellijk uitgevoerd. Het WATCH-commando kan worden gebruikt om specifieke sleutels te monitoren. Als een van deze sleutels wordt aangepast voordat de transactie wordt uitgevoerd, zal de transactie worden afgebroken om dataconflicten te voorkomen.
WATCH key1
MULTI
SET key1 "new_value"
EXEC
In dit voorbeeld, als de waarde van key1 wijzigt voordat het EXEC-commando wordt uitgevoerd, zal de transactie niet worden uitgevoerd. Dit waarborgt de dataconsistentie, vooral wanneer meerdere clients proberen dezelfde sleutel gelijktijdig te wijzigen.
1. Wat gebeurt er als een van de commando's in een Redis-transactie faalt?
2. Welk commando moet worden gebruikt om een Redis-transactie te starten?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.33
Transacties
Veeg om het menu te tonen
Alle commando's binnen de transactie worden gelijktijdig uitgevoerd. Als één van de commando's faalt, wordt geen van allen uitgevoerd. Dit waarborgt de dataconsistentie door gedeeltelijke of ongeldige wijzigingen te voorkomen, zelfs als er fouten optreden.
Hoe transacties worden gebruikt
Transacties worden vaak toegepast wanneer meerdere bewerkingen op data samen moeten worden uitgevoerd, zoals het verhogen van een teller en het schrijven van gerelateerde data naar een andere sleutel. Door transacties te gebruiken wordt gegarandeerd dat alle bewerkingen worden voltooid, of geen enkele, waardoor de dataintegriteit behouden blijft.
Kerncommando's voor transacties
Om een transactie in Redis te starten, gebruik het commando MULTI. Hiermee geeft u aan Redis door dat alle volgende commando's onderdeel zijn van de transactie.
Zodra u MULTI uitvoert, plaatst Redis de commando's die u wilt opnemen in de transactie in een wachtrij.
MULTI
SET key1 "value1"
SET key2 "value2"
In dit voorbeeld worden de commando's SET key1 "value1" en SET key2 "value2" niet onmiddellijk uitgevoerd. In plaats daarvan worden ze toegevoegd aan de transactiequeue en gezamenlijk uitgevoerd wanneer het commando EXEC wordt aangeroepen.
Een transactie uitvoeren
Om alle commando's in de transactie uit te voeren, gebruik het commando EXEC. Dit voert elk gequeue'd commando in de transactie uit.
EXEC
Na het aanroepen van EXEC, zullen beide SET-bewerkingen worden uitgevoerd.
Een transactie annuleren
Indien gewenst kan een transactie vóór uitvoering worden geannuleerd met het DISCARD-commando. Dit leegt alle commando's in de transactiewachtrij, zodat deze niet worden uitgevoerd.
DISCARD
Na het aanroepen van DISCARD worden alle opdrachten die aan de transactie zijn toegevoegd sinds MULTI verworpen en niet uitgevoerd.
Sleutels monitoren tijdens een transactie
Tijdens een transactie worden opdrachten in de wachtrij geplaatst maar niet onmiddellijk uitgevoerd. Het WATCH-commando kan worden gebruikt om specifieke sleutels te monitoren. Als een van deze sleutels wordt aangepast voordat de transactie wordt uitgevoerd, zal de transactie worden afgebroken om dataconflicten te voorkomen.
WATCH key1
MULTI
SET key1 "new_value"
EXEC
In dit voorbeeld, als de waarde van key1 wijzigt voordat het EXEC-commando wordt uitgevoerd, zal de transactie niet worden uitgevoerd. Dit waarborgt de dataconsistentie, vooral wanneer meerdere clients proberen dezelfde sleutel gelijktijdig te wijzigen.
1. Wat gebeurt er als een van de commando's in een Redis-transactie faalt?
2. Welk commando moet worden gebruikt om een Redis-transactie te starten?
Bedankt voor je feedback!