sql >> Databáze >  >> NoSQL >> Redis

Zálohy AOF a RDB v redis

Znamená to prakticky, že se mi zálohují každých 60 sekund?

NE . Redis provede uložení na pozadí po 60 sekundách, pokud bylo změněno alespoň 10 000 klíčů . Jinak neprovede ukládání na pozadí.

Způsobí použití appendonly on a appendfsync everysec snížení výkonu? Zasáhne to CPU? Zápis je na vysoké straně.

Záleží na mnoha věcech, např. výkon disku (SSD VS HDD), zátěž při zápisu/čtení (QPS), datový model a tak dále. Potřebujete provést benchmark s vašimi vlastními daty ve vašem konkrétním prostředí.

Jakmile restartuji server redis s těmito novými nastaveními, stále ztratím posledních 60 sekund svých dat, že?

NE . Pokud zapnete AOF i RDB, po restartu Redis bude soubor AOF použit k opětovnému sestavení databáze. Protože jej nakonfigurujete na appendfsync everysec , ztratíte pouze poslední 1 sekundu dat.

Jsou časy restartů důvodem k obavám? Můj soubor dump.rdb je malý; ~90 MB.

Pokud zapnete AOF a když se Redis restartuje, přehraje protokoly v souboru AOF, aby znovu sestavil databázi. Normálně je soubor AOF větší než soubor RDB a může být pomalejší než obnova ze souboru RDB. Měli byste si s tím dělat starosti? Proveďte benchmark s vašimi vlastními daty ve vašem konkrétním prostředí.

UPRAVIT

DŮLEŽITÉ UPOZORNĚNÍ

Předpokládejme, že jste již nastavili Redis, aby používal ukládání RDB, a zapisujete do Redis spoustu dat. Po chvíli budete chtít zapnout ukládání AOF. NIKDY NEUPRAVUJTE KONFIGURAČNÍ SOUBOR PRO ZAPNUTÍ AOF A RESTARTOVÁNÍ REDIS, JINAK ZTRATÍTE VŠE .

Protože jakmile nastavíte appendonly yes v redis.conf a restartujte Redis, načte data ze souboru AOF, bez ohledu na to, zda soubor existuje nebo ne. Pokud soubor neexistuje, vytvoří prázdný soubor a pokusí se načíst data z tohoto prázdného souboru. Takže o všechno přijdete.

Ve skutečnosti nemusíte restartovat Redis, abyste zapnuli AOF. Místo toho můžete použít config set příkaz k dynamickému zapnutí:config set appendonly yes .




  1. Název pole ID entity ServiceStack

  2. Skript redis lua vs. jednotlivá volání

  3. Zrušit zaměstnání v Laravel

  4. Limit velikosti jednoho dokumentu MongoDB je 16 MB