Redis er normalt ikke implementeret som et "holdbart" datalager (i betydningen "D" i ACID.), selv med journalføring. De fleste use cases ofrer bevidst lidt holdbarhed til gengæld for hurtighed.
Lagringstilstanden "tilføj kun fil" kan dog valgfrit konfigureres til at fungere på en holdbar måde på bekostning af ydeevne. Den skal betale for en fsync() ved hver ændring. For at konfigurere dette skal du indstille disse to muligheder i din .conf-fil:
appendonly yes
appendfsync always
Fra dokumenterne:Hvor holdbar er den kun vedhæftede fil?
Tjek redis.conf, du kan indstille hvor mange gange Redis vil fsync() data på disken. Der er tre muligheder:
- Fsync() hver gang en ny kommando tilføjes til tilføjelseslogfilen. Meget meget langsom, meget sikker.
- Fsync() én gang hvert sekund. Hurtigt nok, og du kan miste 1 sekunds data, hvis der er en katastrofe.
- Aldrig fsync(), læg blot dine data i hænderne på operativsystemet. Den hurtigere og mere usikre metode.
(Bemærk, at standarden for appendfsync i konfigurationsfilen forsendelse med Redis post-2.0.0 er everysec
, og ikke always
.)