Proponuję przeczytać o tym na http://redis.io/topics/persistence . Zasadniczo tracisz gwarantowaną trwałość, gdy zwiększasz wydajność, używając tylko przechowywania w pamięci. Wyobraź sobie scenariusz, w którym wstawiasz do pamięci, ale zanim zostanie ona utrwalona na dysku, traci moc. Nastąpi utrata danych.
Redis obsługuje tak zwane „migawki”. Oznacza to, że w pewnym momencie wykona pełną kopię tego, co znajduje się w pamięci (np. co pełną godzinę). Gdy stracisz zasilanie między dwoma migawkami, utracisz dane z czasu między ostatnim zrzutem a awarią (nie musi to oznaczać przerwy w dostawie prądu...). Redis łączy bezpieczeństwo danych z wydajnością, tak jak robi to większość baz danych NoSQL.
Większość baz danych NoSQL opiera się na koncepcji replikacji między wieloma węzłami, aby zminimalizować to ryzyko. Redis jest uważany za bardziej szybką pamięć podręczną niż bazę danych, która gwarantuje spójność danych. Dlatego jego przypadki użycia zazwyczaj różnią się od rzeczywistych baz danych:możesz na przykład przechowywać sesje, liczniki wydajności lub cokolwiek w nim z niezrównaną wydajnością i bez żadnych strat w przypadku awarii. Ale przetwarzanie zamówień/historii zakupów i tak dalej jest uważane za zadanie dla tradycyjnych baz danych.