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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
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.

Anvendelse af transaktioner

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

Centrale kommandoer for transaktioner

For at starte en transaktion i Redis, anvendes kommandoen MULTI. Dette informerer Redis om, at alle efterfølgende kommandoer skal indgå i transaktionen.

Når du har udstedt 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 kommandoerne 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 at have kaldt DISCARD, vil alle kommandoer tilføjet til transaktionen siden MULTI blive forkastet og ikke udført.

Overvågning af nøgler under en transaktion

Under en transaktion bliver kommandoer køet 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

Suggested prompts:

Can you explain how the MULTI, EXEC, DISCARD, and WATCH commands work in more detail?

What happens if a command inside a transaction fails?

Can you give a real-world example of when to use transactions in Redis?

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.

Anvendelse af transaktioner

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

Centrale kommandoer for transaktioner

For at starte en transaktion i Redis, anvendes kommandoen MULTI. Dette informerer Redis om, at alle efterfølgende kommandoer skal indgå i transaktionen.

Når du har udstedt 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 kommandoerne 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 at have kaldt DISCARD, vil alle kommandoer tilføjet til transaktionen siden MULTI blive forkastet og ikke udført.

Overvågning af nøgler under en transaktion

Under en transaktion bliver kommandoer køet 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