sql >> Database teknologi >  >> NoSQL >> Redis

AOF og RDB sikkerhedskopier i redis

Betyder det, at jeg praktisk taget får sikkerhedskopier hvert 60. sekund?

NEJ . Redis gemmer en baggrund efter 60 sekunder, hvis der er mindst 10.000 nøgler er blevet ændret . Ellers gemmer den ikke i baggrunden.

Vil brug af appendonly på og appendfsync everysec forårsage en ydeevnenedgradering? Vil det ramme CPU'en? Skrivebelastningen er i overkanten.

Det afhænger af mange ting, f.eks. diskydeevne (SSD VS HDD), skrive-/læsebelastning (QPS), datamodel og så videre. Du skal lave en benchmark med dine egne data i dit specifikke miljø.

Når jeg genstarter redis-serveren med disse nye indstillinger, vil jeg stadig miste de sidste 60 sekunder af mine data, ikke?

NEJ . Hvis du slår både AOF og RDB til, vil AOF-filen blive brugt til at genopbygge databasen, når Redis genstarter. Siden du konfigurerer det til appendfsync everysec , vil du kun miste det sidste 1 sekund af data.

Er genstartstider noget at bekymre sig om? Min dump.rdb fil er lille; ~90 MB.

Hvis du slår AOF til, og når Redis genstarter, afspiller den logfiler i AOF-filen for at genopbygge databasen. Normalt er AOF-fil større end RDB-fil, og den kan være langsommere end at gendanne fra RDB-fil. Skal du bekymre dig om det? Lav et benchmark med dine egne data i dit specifikke miljø.

REDIGER

VIGTIG MEDDELELSE

Antag, at du allerede har indstillet Redis til at bruge RDB-lagring, og skriv masser af data til Redis. Efter et stykke tid vil du slå AOF-lagring til. REDIGER ALDRIG KONFIGSFILEN FOR AT SLÅ AOF TIL OG GENSTART REDIS, ELLER MISTER DU ALT .

Fordi, når du har indstillet appendonly yes i redis.conf, og genstart Redis, vil den indlæse data fra AOF-filen, uanset om filen eksisterer eller ej. Hvis filen ikke eksisterer, opretter den en tom fil og forsøger at indlæse data fra den tomme fil. Så du mister alt.

Faktisk behøver du ikke genstarte Redis for at slå AOF til. I stedet kan du bruge config set kommando for dynamisk at slå det til:config set appendonly yes .




  1. Mongoose - RangeError:Maksimal opkaldsstabelstørrelse overskredet

  2. Meltdown Performance Impact on MongoDB:AWS, Azure &DigitalOcean

  3. Hvad er forskellen mellem findAndModify og update i MongoDB?

  4. Sådan administreres brugere og godkendelse i MongoDB