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

bookAOF-Persistens

Illustrationen viser, hvordan Redis fungerer ved brug af AOF. En klientkommando udføres først i hukommelsen for hurtig dataadgang, og derefter skrives kommandoen til en fildisken for at sikre pålidelig datagendannelse i tilfælde af fejl.

Sådan fungerer AOF

Når AOF-tilstand er aktiveret, gemmes hver skrivekommando, der sendes til serveren, i en fil. Ved genstart af Redis læses kommandoerne fra AOF-filen og bruges til at gendanne datasættet.

Med tiden kan denne fil vokse betydeligt i størrelse, da den indeholder hele historikken for nøgleændringer. For at håndtere dette omskriver Redis periodisk filen, fjerner unødvendige kommandoer og bevarer kun den aktuelle tilstand for hver nøgle. For eksempel, hvis vi bruger en nøgle kaldet total og ændrer dens værdi flere gange, kan den oprindelige AOF-fil se således ud:

set total 5
set total 20
set total 45
set total 100

Efter omskrivning vil Redis kun beholde den seneste værdi for nøglen:

set total 100

Når Redis tilføjer en ny kommando til AOF-filen, gemmer operativsystemet den først i en buffer, før den skrives til disk med bestemte intervaller. Hvis der opstår et strømsvigt, kan data der stadig er i bufferentabt. For at minimere denne risiko tømmer Redis som standard bufferen hvert sekund. Du kan konfigurere det til at skrive data til disken umiddelbart efter hver kommando, men dette vil markant sænke ydelsen.

Sådan aktiveres AOF

For at aktivere AOF skal du opdatere filen redis.conf med følgende indstillinger:

appendonly yes                  # enable AOF mode
appendfilename "appendonly.aof" # specify the log file name

Når du konfigurerer AOF i Redis, kan du vælge, hvor ofte data skal synkroniseres til disken. Dette påvirker både systemets ydeevne og pålidelighed:

  • appendfsync alwayssynkroniserer efter hver operation (langsommere, men mest pålidelig);
  • appendfsync everysecsynkroniserer én gang pr. sekund (optimal balance mellem ydeevne og holdbarhed);
  • appendfsync nodata forbliver i hukommelsen, indtil det tømmes af systemet (hurtigt, men risikabelt).

Forskel mellem AOF og RDB

Konfiguration af kombineret persistens

Det er muligt at aktivere både RDB og AOF samtidigt for at kombinere deres styrker. Denne metode giver en pålidelig backup (RDB) samtidig med at datatab minimeres (AOF).

save 300 10       # RDB: save every 5 minutes if there are 10 changes
appendonly yes     # enable AOF
appendfsync everysec  # sync to disk every second

Resumé

Persistens i Redis opnår en balance mellem ydelse og datapålidelighed, hvilket giver mulighed for at vælge den tilgang, der bedst matcher dine behov. Hvis høj ydelse er prioritet, er RDB det ideelle valg. Omvendt, hvis minimering af datatab er afgørende, er AOF mere egnet. For dem, der kræver maksimal pålidelighed, giver brug af begge metoder sammen de bedste resultater.

1. Hvilken Redis-persistensmetode minimerer datatab?

2. Hvornår bør du bruge både RDB og AOF persistens i Redis?

question mark

Hvilken Redis-persistensmetode minimerer datatab?

Select the correct answer

question mark

Hvornår bør du bruge både RDB og AOF persistens i Redis?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6

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

bookAOF-Persistens

Stryg for at vise menuen

Illustrationen viser, hvordan Redis fungerer ved brug af AOF. En klientkommando udføres først i hukommelsen for hurtig dataadgang, og derefter skrives kommandoen til en fildisken for at sikre pålidelig datagendannelse i tilfælde af fejl.

Sådan fungerer AOF

Når AOF-tilstand er aktiveret, gemmes hver skrivekommando, der sendes til serveren, i en fil. Ved genstart af Redis læses kommandoerne fra AOF-filen og bruges til at gendanne datasættet.

Med tiden kan denne fil vokse betydeligt i størrelse, da den indeholder hele historikken for nøgleændringer. For at håndtere dette omskriver Redis periodisk filen, fjerner unødvendige kommandoer og bevarer kun den aktuelle tilstand for hver nøgle. For eksempel, hvis vi bruger en nøgle kaldet total og ændrer dens værdi flere gange, kan den oprindelige AOF-fil se således ud:

set total 5
set total 20
set total 45
set total 100

Efter omskrivning vil Redis kun beholde den seneste værdi for nøglen:

set total 100

Når Redis tilføjer en ny kommando til AOF-filen, gemmer operativsystemet den først i en buffer, før den skrives til disk med bestemte intervaller. Hvis der opstår et strømsvigt, kan data der stadig er i bufferentabt. For at minimere denne risiko tømmer Redis som standard bufferen hvert sekund. Du kan konfigurere det til at skrive data til disken umiddelbart efter hver kommando, men dette vil markant sænke ydelsen.

Sådan aktiveres AOF

For at aktivere AOF skal du opdatere filen redis.conf med følgende indstillinger:

appendonly yes                  # enable AOF mode
appendfilename "appendonly.aof" # specify the log file name

Når du konfigurerer AOF i Redis, kan du vælge, hvor ofte data skal synkroniseres til disken. Dette påvirker både systemets ydeevne og pålidelighed:

  • appendfsync alwayssynkroniserer efter hver operation (langsommere, men mest pålidelig);
  • appendfsync everysecsynkroniserer én gang pr. sekund (optimal balance mellem ydeevne og holdbarhed);
  • appendfsync nodata forbliver i hukommelsen, indtil det tømmes af systemet (hurtigt, men risikabelt).

Forskel mellem AOF og RDB

Konfiguration af kombineret persistens

Det er muligt at aktivere både RDB og AOF samtidigt for at kombinere deres styrker. Denne metode giver en pålidelig backup (RDB) samtidig med at datatab minimeres (AOF).

save 300 10       # RDB: save every 5 minutes if there are 10 changes
appendonly yes     # enable AOF
appendfsync everysec  # sync to disk every second

Resumé

Persistens i Redis opnår en balance mellem ydelse og datapålidelighed, hvilket giver mulighed for at vælge den tilgang, der bedst matcher dine behov. Hvis høj ydelse er prioritet, er RDB det ideelle valg. Omvendt, hvis minimering af datatab er afgørende, er AOF mere egnet. For dem, der kræver maksimal pålidelighed, giver brug af begge metoder sammen de bedste resultater.

1. Hvilken Redis-persistensmetode minimerer datatab?

2. Hvornår bør du bruge både RDB og AOF persistens i Redis?

question mark

Hvilken Redis-persistensmetode minimerer datatab?

Select the correct answer

question mark

Hvornår bør du bruge både RDB og AOF persistens i Redis?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6
some-alt