Zasadniczo dostępne są dwa główne typy: asynchroniczne snapsnots i fsync()
. Nazywają się odpowiednio RDB i AOF. Więcej o trybach trwałości na oficjalnej stronie .
Obsługa sygnału zdemonizowanego procesu synchronizuje się z dyskiem, na przykład po otrzymaniu SIGTERM, więc dane nadal tam będą po ponownym uruchomieniu. Myślę, że demon lub system operacyjny musi ulec awarii, zanim zobaczysz uszkodzenie integralności, nawet przy ustawieniach domyślnych (migawki RDB).
Ustawienie AOF używa pliku Append Only, który rejestruje polecenia odbierane przez serwer i odtwarza bazę danych od podstaw przy zimnym starcie z zapisanego pliku. Domyślną zasadą synchronizacji dysku jest opróżnianie co sekundę (IIRC), ale można ją ustawić na blokowanie i zapisywanie przy każdym poleceniu.
Korzystanie zarówno z migawek, jak i dziennika przyrostowego wydaje się oferować zarówno długoterminowe podejście `` nie przejmuj się, jeśli przegapię-kilka sekund-danych '' z bezpieczniejszym, ale kosztowniejszym dziennikiem przyrostowym. Redis obsługuje klastrowanie po wyjęciu z pudełka, więc wydaje się, że można wykonać replikację.
Sam używam domyślnego ustawienia RDB i zapisuję migawki na zdalnym serwerze FTP. Nie widziałem jeszcze awarii powodującej utratę danych. Najprawdopodobniej ostra awaria sprzętu lub przerwy w zasilaniu, ale jestem hostowany na VPS. Mała szansa na to :)