RDB-Persistens
Även om Redis är känt som ett minnesbaserat datalager, möjliggör persistens att data sparas på disk för att skydda mot förlust vid serverkrascher. Vi kommer att undersöka de viktigaste persistensmetoderna i Redis, deras konfigurationer och praktiska tillämpningar.
RDB-persistens
RDB (Redis Database) skapar en fullständig ögonblicksbild av Redis data vid specifika tidpunkter. Denna metod är lämplig för scenarier där hastighet är viktig och viss dataförlust är acceptabel.
Som visas i diagrammet skapar Redis periodiskt ögonblicksbilder av data och sparar dem på disk. Detta hjälper till att minimera dataförlust och förenklar återställning av databasens tillstånd vid en omstart.
Frekvensen för skapande av ögonblicksbilder kan konfigureras i filen redis.conf.
För att visa och ändra filen redis.conf på macOS:
cat /opt/homebrew/etc/redis.conf
För att visa filen redis.conf på Windows kan du öppna katalogen där Redis är installerat och komma åt filen redis.windows.conf.
Efter att ha öppnat filen ser du standardinställningar för snapshot såsom:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
I exemplet ovan kommer Redis att spara data enligt följande kriterier:
- Varje 900 sekunder (15 minuter) om minst en nyckel har ändrats;
- Varje 300 sekunder (5 minuter) om minst 10 nycklar har ändrats;
- Varje 60 sekunder om minst 10 000 nycklar har ändrats.
Frekvensen för att spara data till disk avgör nivån av hållbarhet. Om data till exempel sparas var femte minut och ett fel inträffar några minuter efter den senaste sparningen, kommer de dataändringar som gjorts under den perioden att gå förlorade. Det är därför viktigt att noggrant välja sparintervall.
Hur det fungerar
Redis sparar databasens tillstånd till en .rdb-fil vid angivna intervall. När servern startas om återställs data från den senast sparade filen.
Fördelar och nackdelar
RDB ger minimal påverkan på prestanda och använder ett kompakt lagringsformat. Det finns dock en risk att data som lagts till mellan snapshot-intervall går förlorade.
Manuell skapande av snapshot
Användare kan också utlösa en RDB-snapshot med kommandot SAVE. Detta kommando blockerar Redis-servern, så det bör undvikas. Istället bör kommandot BGSAVE användas, eftersom det skapar en barnprocess som tar en snapshot i bakgrunden.
1. Vad gör RDB-metoden i Redis?
2. Vilken är en fördel med RDB-metoden?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.33
RDB-Persistens
Svep för att visa menyn
Även om Redis är känt som ett minnesbaserat datalager, möjliggör persistens att data sparas på disk för att skydda mot förlust vid serverkrascher. Vi kommer att undersöka de viktigaste persistensmetoderna i Redis, deras konfigurationer och praktiska tillämpningar.
RDB-persistens
RDB (Redis Database) skapar en fullständig ögonblicksbild av Redis data vid specifika tidpunkter. Denna metod är lämplig för scenarier där hastighet är viktig och viss dataförlust är acceptabel.
Som visas i diagrammet skapar Redis periodiskt ögonblicksbilder av data och sparar dem på disk. Detta hjälper till att minimera dataförlust och förenklar återställning av databasens tillstånd vid en omstart.
Frekvensen för skapande av ögonblicksbilder kan konfigureras i filen redis.conf.
För att visa och ändra filen redis.conf på macOS:
cat /opt/homebrew/etc/redis.conf
För att visa filen redis.conf på Windows kan du öppna katalogen där Redis är installerat och komma åt filen redis.windows.conf.
Efter att ha öppnat filen ser du standardinställningar för snapshot såsom:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
I exemplet ovan kommer Redis att spara data enligt följande kriterier:
- Varje 900 sekunder (15 minuter) om minst en nyckel har ändrats;
- Varje 300 sekunder (5 minuter) om minst 10 nycklar har ändrats;
- Varje 60 sekunder om minst 10 000 nycklar har ändrats.
Frekvensen för att spara data till disk avgör nivån av hållbarhet. Om data till exempel sparas var femte minut och ett fel inträffar några minuter efter den senaste sparningen, kommer de dataändringar som gjorts under den perioden att gå förlorade. Det är därför viktigt att noggrant välja sparintervall.
Hur det fungerar
Redis sparar databasens tillstånd till en .rdb-fil vid angivna intervall. När servern startas om återställs data från den senast sparade filen.
Fördelar och nackdelar
RDB ger minimal påverkan på prestanda och använder ett kompakt lagringsformat. Det finns dock en risk att data som lagts till mellan snapshot-intervall går förlorade.
Manuell skapande av snapshot
Användare kan också utlösa en RDB-snapshot med kommandot SAVE. Detta kommando blockerar Redis-servern, så det bör undvikas. Istället bör kommandot BGSAVE användas, eftersom det skapar en barnprocess som tar en snapshot i bakgrunden.
1. Vad gör RDB-metoden i Redis?
2. Vilken är en fördel med RDB-metoden?
Tack för dina kommentarer!