Pridaj hodnotenie:

Čo sa stane, keď sa zaplní pamäť Redis servera?

Tvorcovia Redis servera mysleli aj na situáciu, keď sa pamäť pre Redis server zaplní. Poznáme to všetci, operačnej pamäte nikdy nie je dosť. 

Pri štandardnom nastavení servera sa po zaplnení pamäte nedá viac zapisovať a server vráti do aplikácie chybovú hlášku. Avšak najčastejšie sa pri web aplikáciách používa Redis ako cache server bez trvalého uloženia dát. Preto sa k vloženým dátam nastavuje aj čas exspirácie (TTL) počas ktorého je údaj platný.

Ak sú v Redise takéto dáta, ktoré exspirujú a je momentálne zaplnená pamäť, server by mohol zmazať tie položky, ktorých čas exspirácie je najbližší. Presne takto sa správa nastavenie servera:

maxmemory-policy volatile-ttl

Toto nastavenie sa nedotkne položiek v pamäti, ktoré nemajú nastavenú exspiráciu avšak položky, ktoré exspiráciu majú nastavenú a blížia sa k exspirácii, server zmaže. Avšak robí to len vtedy, keď je už pamäť zaplnená.