Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära AOF-beständighet | Avancerade Funktioner och Säkerhet
Introduktion till Redis

bookAOF-beständighet

Illustrationen visar hur Redis fungerar med AOF. Ett klientkommando utförs först i minnet för snabb datatillgång, och därefter skrivs kommandot till en fildisk för att säkerställa tillförlitlig dataåterställning vid en felhändelse.

Hur AOF fungerar

När AOF-läget är aktiverat sparas varje skrivkommando som skickas till servern i en fil. Vid omstart av Redis läses kommandona från AOF-filen och används för att återställa datasetet.

Med tiden kan denna fil bli mycket stor eftersom den innehåller hela historiken av nyckelförändringar. För att hantera detta skriver Redis om filen periodiskt, tar bort onödiga kommandon och behåller endast det aktuella tillståndet för varje nyckel. Till exempel, om vi använder en nyckel som heter total och ändrar dess värde flera gånger, kan den ursprungliga AOF-filen se ut så här:

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

Efter omskrivning behåller Redis endast det senaste värdet för nyckeln:

set total 100

När Redis lägger till ett nytt kommando i AOF-filen, sparar operativsystemet det först i en buffert innan det skrivs till disk vid specifika intervall. Om ett strömavbrott inträffar kan data som fortfarande finns i buffertenförlorad. För att minimera denna risk tömmer Redis bufferten varje sekund som standard. Du kan konfigurera det att skriva data till disken omedelbart efter varje kommando, men detta saktar ner operationerna avsevärt.

Så här aktiverar du AOF

För att aktivera AOF, uppdatera filen redis.conf med följande inställningar:

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

Vid konfiguration av AOF i Redis kan du välja hur ofta data ska synkroniseras till disken. Detta påverkar både systemprestanda och tillförlitlighet:

  • appendfsync alwayssynkronisering efter varje operation (långsammare men mest tillförlitlig);
  • appendfsync everysecsynkronisering en gång per sekund (optimal balans mellan prestanda och hållbarhet);
  • appendfsync nodata stannar i minnet tills den töms av systemet (snabbt men riskabelt).

Skillnad mellan AOF och RDB

Konfigurera kombinerad persistens

Det är möjligt att aktivera både RDB och AOF samtidigt för att kombinera deras styrkor. Denna metod ger en tillförlitlig säkerhetskopia (RDB) samtidigt som dataförlust minimeras (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

Sammanfattning

Persistens i Redis uppnår en balans mellan prestanda och datatillförlitlighet, vilket gör det möjligt att välja det tillvägagångssätt som bäst passar dina behov. Om din prioritet är hög prestanda är RDB det optimala valet. Om det däremot är avgörande att minimera dataförlust är AOF mer lämpligt. För dem som kräver maximal tillförlitlighet ger användning av båda metoderna tillsammans de bästa resultaten.

1. Vilken Redis-persistensmetod minimerar dataförlust?

2. När bör du använda både RDB och AOF-persistens i Redis?

question mark

Vilken Redis-persistensmetod minimerar dataförlust?

Select the correct answer

question mark

När bör du använda både RDB och AOF-persistens i Redis?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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-beständighet

Svep för att visa menyn

Illustrationen visar hur Redis fungerar med AOF. Ett klientkommando utförs först i minnet för snabb datatillgång, och därefter skrivs kommandot till en fildisk för att säkerställa tillförlitlig dataåterställning vid en felhändelse.

Hur AOF fungerar

När AOF-läget är aktiverat sparas varje skrivkommando som skickas till servern i en fil. Vid omstart av Redis läses kommandona från AOF-filen och används för att återställa datasetet.

Med tiden kan denna fil bli mycket stor eftersom den innehåller hela historiken av nyckelförändringar. För att hantera detta skriver Redis om filen periodiskt, tar bort onödiga kommandon och behåller endast det aktuella tillståndet för varje nyckel. Till exempel, om vi använder en nyckel som heter total och ändrar dess värde flera gånger, kan den ursprungliga AOF-filen se ut så här:

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

Efter omskrivning behåller Redis endast det senaste värdet för nyckeln:

set total 100

När Redis lägger till ett nytt kommando i AOF-filen, sparar operativsystemet det först i en buffert innan det skrivs till disk vid specifika intervall. Om ett strömavbrott inträffar kan data som fortfarande finns i buffertenförlorad. För att minimera denna risk tömmer Redis bufferten varje sekund som standard. Du kan konfigurera det att skriva data till disken omedelbart efter varje kommando, men detta saktar ner operationerna avsevärt.

Så här aktiverar du AOF

För att aktivera AOF, uppdatera filen redis.conf med följande inställningar:

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

Vid konfiguration av AOF i Redis kan du välja hur ofta data ska synkroniseras till disken. Detta påverkar både systemprestanda och tillförlitlighet:

  • appendfsync alwayssynkronisering efter varje operation (långsammare men mest tillförlitlig);
  • appendfsync everysecsynkronisering en gång per sekund (optimal balans mellan prestanda och hållbarhet);
  • appendfsync nodata stannar i minnet tills den töms av systemet (snabbt men riskabelt).

Skillnad mellan AOF och RDB

Konfigurera kombinerad persistens

Det är möjligt att aktivera både RDB och AOF samtidigt för att kombinera deras styrkor. Denna metod ger en tillförlitlig säkerhetskopia (RDB) samtidigt som dataförlust minimeras (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

Sammanfattning

Persistens i Redis uppnår en balans mellan prestanda och datatillförlitlighet, vilket gör det möjligt att välja det tillvägagångssätt som bäst passar dina behov. Om din prioritet är hög prestanda är RDB det optimala valet. Om det däremot är avgörande att minimera dataförlust är AOF mer lämpligt. För dem som kräver maximal tillförlitlighet ger användning av båda metoderna tillsammans de bästa resultaten.

1. Vilken Redis-persistensmetod minimerar dataförlust?

2. När bör du använda både RDB och AOF-persistens i Redis?

question mark

Vilken Redis-persistensmetod minimerar dataförlust?

Select the correct answer

question mark

När bör du använda både RDB och AOF-persistens i Redis?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6
some-alt