Redis nie jest zazwyczaj wdrożony jako „trwały” magazyn danych (w sensie „D” w ACID.), nawet z kronikowaniem. Większość przypadków użycia celowo poświęca trochę wytrzymałości w zamian za szybkość.
Jednak tryb przechowywania „Dołącz tylko plik” można opcjonalnie skonfigurować do działania w sposób trwały kosztem wydajności. Będzie musiał zapłacić za fsync() przy każdej modyfikacji. Aby to skonfigurować, ustaw te dwie opcje w pliku .conf:
appendonly yes
appendfsync always
Z dokumentacji:Jak trwały jest plik zawierający tylko dołączanie?
Sprawdź redis.conf, możesz skonfigurować ile razy Redis będzie fsync() datana dysku. Istnieją trzy opcje:
- Fsync() za każdym razem, gdy nowe polecenie jest dołączane do pliku dziennika dołączania. Bardzo wolno, bardzo bezpiecznie.
- Fsync() raz na sekundę. Wystarczająco szybko, a w przypadku katastrofy możesz stracić 1 sekundę danych.
- Nigdy nie fsync(), po prostu oddaj swoje dane w ręce systemu operacyjnego. Szybsza i niebezpieczniejsza metoda.
(Zauważ, że domyślnym parametrem appendfsync w pliku konfiguracyjnym dostarczanym z Redis po wersji 2.0.0 jest everysec
, a nie always
.)