Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Transaktioner | Avancerede Funktioner og Sikkerhed
Introduktion til Redis

bookTransaktioner

Alle kommandoer inden for transaktionen udføres samtidigt. Hvis én af kommandoerne fejler, vil ingen af dem blive udført. Dette sikrer datakonsistens ved at forhindre delvise eller ugyldige ændringer, selv hvis der opstår fejl.

Sådan bruges transaktioner

Transaktioner anvendes ofte, når flere operationer på data skal udføres samtidigt, såsom inkrementering af en tæller og skrivning af relaterede data til en anden nøgle. Ved at bruge transaktioner sikres det, at enten alle operationer gennemføres, eller ingen gør, hvilket opretholder dataintegritet.

Centrale kommandoer til transaktioner

For at starte en transaktion i Redis, anvendes kommandoen MULTI. Dette informerer Redis om, at alle efterfølgende kommandoer skal være en del af transaktionen.

Når du har udført MULTI, køer Redis de kommandoer, du ønsker at inkludere i transaktionen.

MULTI
SET key1 "value1"
SET key2 "value2"

I dette eksempel bliver kommandoerne SET key1 "value1" og SET key2 "value2" ikke udført straks. I stedet tilføjes de til transaktionskøen og udføres samtidigt, når EXEC-kommandoen kaldes.

Udførelse af en transaktion

For at udføre alle kommandoer i transaktionen anvendes EXEC-kommandoen. Denne kører alle køede kommandoer i transaktionen.

EXEC

Efter kald af EXEC, vil begge SET operationer blive udført.

Annullering af en transaktion

Hvis det besluttes at annullere en transaktion før udførelse, anvendes kommandoen DISCARD. Dette rydder alle kommandoer i transaktionskøen, hvilket sikrer, at de ikke bliver udført.

DISCARD

Efter kald af DISCARD vil alle kommandoer, der er tilføjet til transaktionen siden MULTI, blive kasseret og ikke udført.

Overvågning af nøgler under en transaktion

Under en transaktion bliver kommandoer kølagt men ikke udført med det samme. WATCH-kommandoen kan bruges til at overvåge specifikke nøgler. Hvis nogen af disse nøgler bliver ændret før transaktionen bliver udført, vil transaktionen blive afbrudt for at forhindre datakonflikter.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

I dette eksempel, hvis værdien af key1 ændres før EXEC-kommandoen kaldes, vil transaktionen ikke blive udført. Dette sikrer datakonsistens, især når flere klienter forsøger at ændre den samme nøgle samtidigt.

1. Hvad sker der, hvis en af kommandoerne i en Redis-transaktion fejler?

2. Hvilken kommando skal bruges til at starte en Redis-transaktion?

question mark

Hvad sker der, hvis en af kommandoerne i en Redis-transaktion fejler?

Select the correct answer

question mark

Hvilken kommando skal bruges til at starte en Redis-transaktion?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.33

bookTransaktioner

Stryg for at vise menuen

Alle kommandoer inden for transaktionen udføres samtidigt. Hvis én af kommandoerne fejler, vil ingen af dem blive udført. Dette sikrer datakonsistens ved at forhindre delvise eller ugyldige ændringer, selv hvis der opstår fejl.

Sådan bruges transaktioner

Transaktioner anvendes ofte, når flere operationer på data skal udføres samtidigt, såsom inkrementering af en tæller og skrivning af relaterede data til en anden nøgle. Ved at bruge transaktioner sikres det, at enten alle operationer gennemføres, eller ingen gør, hvilket opretholder dataintegritet.

Centrale kommandoer til transaktioner

For at starte en transaktion i Redis, anvendes kommandoen MULTI. Dette informerer Redis om, at alle efterfølgende kommandoer skal være en del af transaktionen.

Når du har udført MULTI, køer Redis de kommandoer, du ønsker at inkludere i transaktionen.

MULTI
SET key1 "value1"
SET key2 "value2"

I dette eksempel bliver kommandoerne SET key1 "value1" og SET key2 "value2" ikke udført straks. I stedet tilføjes de til transaktionskøen og udføres samtidigt, når EXEC-kommandoen kaldes.

Udførelse af en transaktion

For at udføre alle kommandoer i transaktionen anvendes EXEC-kommandoen. Denne kører alle køede kommandoer i transaktionen.

EXEC

Efter kald af EXEC, vil begge SET operationer blive udført.

Annullering af en transaktion

Hvis det besluttes at annullere en transaktion før udførelse, anvendes kommandoen DISCARD. Dette rydder alle kommandoer i transaktionskøen, hvilket sikrer, at de ikke bliver udført.

DISCARD

Efter kald af DISCARD vil alle kommandoer, der er tilføjet til transaktionen siden MULTI, blive kasseret og ikke udført.

Overvågning af nøgler under en transaktion

Under en transaktion bliver kommandoer kølagt men ikke udført med det samme. WATCH-kommandoen kan bruges til at overvåge specifikke nøgler. Hvis nogen af disse nøgler bliver ændret før transaktionen bliver udført, vil transaktionen blive afbrudt for at forhindre datakonflikter.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

I dette eksempel, hvis værdien af key1 ændres før EXEC-kommandoen kaldes, vil transaktionen ikke blive udført. Dette sikrer datakonsistens, især når flere klienter forsøger at ændre den samme nøgle samtidigt.

1. Hvad sker der, hvis en af kommandoerne i en Redis-transaktion fejler?

2. Hvilken kommando skal bruges til at starte en Redis-transaktion?

question mark

Hvad sker der, hvis en af kommandoerne i en Redis-transaktion fejler?

Select the correct answer

question mark

Hvilken kommando skal bruges til at starte en Redis-transaktion?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
some-alt