Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære AOF-Persistens | Avanserte Funksjoner og Sikkerhet
Introduksjon til Redis

bookAOF-Persistens

Illustrasjonen viser hvordan Redis fungerer med AOF. En klientkommando utføres først i minnet for rask datatilgang, og deretter skrives kommandoen til en fildisk for å sikre pålitelig datagjenoppretting ved et eventuelt havari.

Hvordan AOF fungerer

Når AOF-modus er aktivert, lagres hver skrivekommando sendt til serveren i en fil. Ved omstart av Redis leses kommandoene fra AOF-filen og brukes til å gjenopprette datasettet.

Over tid kan denne filen vokse betydelig i størrelse, siden den inneholder hele historikken over nøkkelendringer. For å håndtere dette, overskriver Redis periodisk filen, fjerner unødvendige kommandoer og beholder kun nåværende tilstand for hver nøkkel. For eksempel, hvis vi bruker en nøkkel kalt total og endrer dens verdi flere ganger, kan den opprinnelige AOF-filen se slik ut:

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

Etter omskriving vil Redis kun beholde den siste verdien for nøkkelen:

set total 100

Når Redis legger til en ny kommando i AOF-filen, lagrer operativsystemet den først i en buffer før den skrives til disk med bestemte intervaller. Hvis det oppstår et strømbrudd, kan data som fortsatt ligger i bufferentapt. For å redusere denne risikoen tømmer Redis bufferen hvert sekund som standard. Det er mulig å konfigurere Redis til å skrive data til disk umiddelbart etter hver kommando, men dette vil redusere ytelsen betydelig.

Hvordan aktivere AOF

For å aktivere AOF, oppdater filen redis.conf med følgende innstillinger:

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

Når du konfigurerer AOF i Redis, kan du velge hvor ofte data skal synkroniseres til disk. Dette påvirker både systemytelse og pålitelighet:

  • appendfsync alwayssynkroniserer etter hver operasjon (tregere, men mest pålitelig);
  • appendfsync everysecsynkroniserer én gang per sekund (optimalt balanse mellom ytelse og holdbarhet);
  • appendfsync nodata forblir i minnet til det tømmes av systemet (raskt, men risikabelt).

Forskjell mellom AOF og RDB

Konfigurering av kombinert persistens

Du kan aktivere både RDB og AOF samtidig for å kombinere deres styrker. Denne metoden gir en pålitelig sikkerhetskopi (RDB) samtidig som den minimerer datatap (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

Sammendrag

Persistens i Redis gir en balanse mellom ytelse og datapålitelighet, slik at du kan velge den tilnærmingen som passer best til dine behov. Dersom høy ytelse er prioritert, er RDB det ideelle valget. På den annen side, hvis det er avgjørende å minimere datatap, er AOF mer egnet. For de som krever maksimal pålitelighet, gir bruk av begge metodene sammen de beste resultatene.

1. Hvilken Redis-persistensmetode minimerer datatap?

2. Når bør du bruke både RDB og AOF-persistens i Redis?

question mark

Hvilken Redis-persistensmetode minimerer datatap?

Select the correct answer

question mark

Når bør du bruke både RDB og AOF-persistens i Redis?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

What are the main differences between AOF and RDB in Redis?

How do I configure Redis to use both AOF and RDB for persistence?

Can you explain the pros and cons of each persistence method in more detail?

Awesome!

Completion rate improved to 3.33

bookAOF-Persistens

Sveip for å vise menyen

Illustrasjonen viser hvordan Redis fungerer med AOF. En klientkommando utføres først i minnet for rask datatilgang, og deretter skrives kommandoen til en fildisk for å sikre pålitelig datagjenoppretting ved et eventuelt havari.

Hvordan AOF fungerer

Når AOF-modus er aktivert, lagres hver skrivekommando sendt til serveren i en fil. Ved omstart av Redis leses kommandoene fra AOF-filen og brukes til å gjenopprette datasettet.

Over tid kan denne filen vokse betydelig i størrelse, siden den inneholder hele historikken over nøkkelendringer. For å håndtere dette, overskriver Redis periodisk filen, fjerner unødvendige kommandoer og beholder kun nåværende tilstand for hver nøkkel. For eksempel, hvis vi bruker en nøkkel kalt total og endrer dens verdi flere ganger, kan den opprinnelige AOF-filen se slik ut:

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

Etter omskriving vil Redis kun beholde den siste verdien for nøkkelen:

set total 100

Når Redis legger til en ny kommando i AOF-filen, lagrer operativsystemet den først i en buffer før den skrives til disk med bestemte intervaller. Hvis det oppstår et strømbrudd, kan data som fortsatt ligger i bufferentapt. For å redusere denne risikoen tømmer Redis bufferen hvert sekund som standard. Det er mulig å konfigurere Redis til å skrive data til disk umiddelbart etter hver kommando, men dette vil redusere ytelsen betydelig.

Hvordan aktivere AOF

For å aktivere AOF, oppdater filen redis.conf med følgende innstillinger:

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

Når du konfigurerer AOF i Redis, kan du velge hvor ofte data skal synkroniseres til disk. Dette påvirker både systemytelse og pålitelighet:

  • appendfsync alwayssynkroniserer etter hver operasjon (tregere, men mest pålitelig);
  • appendfsync everysecsynkroniserer én gang per sekund (optimalt balanse mellom ytelse og holdbarhet);
  • appendfsync nodata forblir i minnet til det tømmes av systemet (raskt, men risikabelt).

Forskjell mellom AOF og RDB

Konfigurering av kombinert persistens

Du kan aktivere både RDB og AOF samtidig for å kombinere deres styrker. Denne metoden gir en pålitelig sikkerhetskopi (RDB) samtidig som den minimerer datatap (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

Sammendrag

Persistens i Redis gir en balanse mellom ytelse og datapålitelighet, slik at du kan velge den tilnærmingen som passer best til dine behov. Dersom høy ytelse er prioritert, er RDB det ideelle valget. På den annen side, hvis det er avgjørende å minimere datatap, er AOF mer egnet. For de som krever maksimal pålitelighet, gir bruk av begge metodene sammen de beste resultatene.

1. Hvilken Redis-persistensmetode minimerer datatap?

2. Når bør du bruke både RDB og AOF-persistens i Redis?

question mark

Hvilken Redis-persistensmetode minimerer datatap?

Select the correct answer

question mark

Når bør du bruke både RDB og AOF-persistens i Redis?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 6
some-alt