È Redis un datastore durevole?
Domanda
Con il termine "durevole" Voglio dire, il server può bloccarsi in qualsiasi momento, e fino a quando il disco rimane in tatto, nessun dato viene perso (si veda ACID ). Sembra come questo è ciò che la modalità di inserimento nel diario è per, ma se si attiva nel diario, non significa che la sconfitta lo scopo di operare su dati in memoria? Leggi le operazioni potrebbero non essere influenzati da journaling, ma sembra journaling avrebbe ucciso le prestazioni in scrittura.
Soluzione
Redis non è di solito schierato come datastore "durevole" (nel senso di "D" di ACID.), Anche con journaling. La maggior parte dei casi d'uso sacrificare intenzionalmente un po 'di resistenza in cambio di velocità.
Tuttavia, la modalità di archiviazione "accodare solo file" può essere opzionalmente configurato per operare in modo durevole, a scapito delle prestazioni. Si dovrà pagare per un href="http://en.wikipedia.org/wiki/Sync_%28Unix%29" rel="noreferrer"> fsync) su ogni modifica ( Dalla documentazione: Quanto dura l'aggiungere file solo? Controllo redis.conf, è possibile configurare
quante volte Redis sarà fsync () i dati
su disco. Ci sono tre opzioni: (Si noti che il valore predefinito per appendfsync nel trasporto di file di configurazione con Redis post-2.0.0 è appendonly yes
appendfsync always
everysec
, e non always
.)