Temel olarak iki ana tür mevcuttur: eşzamansız anlık notlar ve fsync()
. Sırasıyla RDB ve AOF olarak adlandırılırlar. Kalıcılık modları hakkında daha fazla bilgiyi resmi sayfada bulabilirsiniz .
Daemonize edilmiş işlemin sinyal işleme, örneğin bir SIGTERM aldığında disk ile senkronize olur, böylece veriler yeniden başlatıldıktan sonra hala orada olacaktır. Varsayılan ayarlarla (RDB anlık görüntüleri) bile bir bütünlük bozulması görmeden önce arka plan programının veya işletim sisteminin çökmesi gerektiğini düşünüyorum.
AOF ayarı, sunucunun aldığı komutları günlüğe kaydeden ve kaydedilen dosyadan soğuk başlatma sırasında DB'yi sıfırdan yeniden oluşturan bir Yalnızca Ekleme Dosyası kullanır. Varsayılan disk senkronizasyon politikası, saniyede bir yıkamaktır (IIRC), ancak her komutu kilitlemek ve yazmak üzere ayarlanabilir.
Hem anlık görüntülerin hem de artımlı günlüğün kullanılması, hem daha güvenli, ancak maliyetli artımlı bir günlükle birkaç saniye veri kaçırırsam aldırmama yaklaşımı sunuyor gibi görünüyor . Redis, kutunun dışında kümelemeyi destekler, bu nedenle çoğaltma da yapılabilir gibi görünüyor.
Varsayılan RDB ayarını kendim kullanıyorum ve anlık görüntüleri uzak FTP'ye kaydediyorum. Henüz veri kaybına neden olan bir arıza görmedim. Akut donanım arızası veya elektrik kesintileri büyük olasılıkla olurdu, ancak bir VPS'de barındırılıyorum. Bunun olma ihtimali çok düşük :)