Junior — Middle
Ako definovať koncept trvanlivosti v Redis a prečo je to potrebné?
sobes.tech AI
Odpoveď od AI
Perzistencia v Redis je mechanizmus na ukladanie dát z pamäte na disk, aby pri reštarte servera neprišlo k strate. Redis je databáza v pamäti, teda dáta sú uložené v RAM pre rýchly prístup, ale bez perzistencie, pri vypnutí servera, dáta zmiznú.
Perzistencia je potrebná na zabezpečenie spoľahlivosti a dlhodobého ukladania dát. V Redis existujú dva hlavné spôsoby perzistencie:
- RDB (záloha databázy Redis): vytvára snímky (snapshots) celej databázy v stanovených intervaloch. Je efektívna z hľadiska výkonu, ale môže viesť k strate posledných zmien, ak server spadne pred ďalším snapshotom.
- AOF (súbor iba na pridávanie): zaznamenáva každú operáciu zmeny dát do denníka. Umožňuje obnoviť dáta až do poslednej operácie, ale môže byť pomalšia.
Obe metódy je možné používať spolu na vyváženie výkonu a spoľahlivosti.
Príklad konfigurácie RDB v redis.conf:
save 900 1 # uložiť, ak bolo aspoň 1 operácia za 900 sekúnd
save 300 10 # uložiť, ak bolo 10 operácií za 300 sekúnd
save 60 10000 # uložiť, ak bolo 10 000 operácií za 60 sekúnd
Týmto spôsobom zabezpečuje perzistenciu v Redis integritu dát a umožňuje používať Redis nielen ako cache, ale aj ako úplné úložisko.