Sobes.tech
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.