sql >> Database >  >> NoSQL >> Redis

AOF- en RDB-back-ups in redis

Betekent dit dat ik praktisch elke 60 seconden een back-up krijg?

NEE . Redis bewaart de achtergrond na 60 seconden, als er minstens 10.000 sleutels zijn gewijzigd . Anders wordt de achtergrond niet opgeslagen.

Zal het gebruik van appendonly on en appendfsync everysec een prestatievermindering veroorzaken? Zal het de CPU raken? De schrijfbelasting is aan de hoge kant.

Het hangt van veel dingen af, b.v. schijfprestaties (SSD VS HDD), schrijf-/leesbelasting (QPS), gegevensmodel, enzovoort. U moet een benchmark doen met uw eigen gegevens in uw specifieke omgeving.

Zodra ik de redis-server opnieuw opstart met deze nieuwe instellingen, verlies ik nog steeds de laatste 60 seconden van mijn gegevens, correct?

NEE . Als u zowel AOF als RDB inschakelt en Redis opnieuw opstart, wordt het AOF-bestand gebruikt om de database opnieuw op te bouwen. Omdat je het configureert naar appendfsync everysec , verlies je alleen de laatste 1 seconde van gegevens.

Zijn herstarttijden iets om je zorgen over te maken? Mijn dump.rdb-bestand is klein; ~90 MB.

Als u AOF inschakelt en Redis opnieuw opstart, worden de logs in het AOF-bestand opnieuw afgespeeld om de database opnieuw op te bouwen. Normaal gesproken is het AOF-bestand groter dan het RDB-bestand en kan het langzamer zijn dan het herstellen van het RDB-bestand. Moet je je daar zorgen over maken? Doe een benchmark met uw eigen gegevens in uw specifieke omgeving.

BEWERKEN

BELANGRIJKE MEDEDELING

Stel dat u Redis al hebt ingesteld om RDB-opslag te gebruiken, en schrijf veel gegevens naar Redis. Na een tijdje wil je AOF-besparing inschakelen. WIJZIG HET CONFIG-BESTAND NOOIT OM AOF IN TE SCHAKELEN EN OPNIEUW TE STARTEN, ANDERS VERLIES JE ALLES .

Omdat, als je eenmaal appendonly yes hebt ingesteld in redis.conf en herstart Redis, het laadt gegevens uit het AOF-bestand, ongeacht of het bestand bestaat of niet. Als het bestand niet bestaat, wordt een leeg bestand gemaakt en wordt geprobeerd gegevens uit dat lege bestand te laden. Dus je verliest alles.

In feite hoeft u Redis niet opnieuw te starten om AOF in te schakelen. In plaats daarvan kunt u config set . gebruiken commando om het dynamisch in te schakelen:config set appendonly yes .




  1. Verwijder element uit geneste array mongodb

  2. mongoError:Topologie is vernietigd

  3. Alle items uit een MongoDB-verzameling verwijderen

  4. Groeperen op datum met lokale tijdzone in MongoDB