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.

È stato utile?

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 (

 appendonly yes
 appendfsync always

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:

     
      
  • Fsync () ogni volta che un nuovo comando è   aggiunto al file di log accodamento. Molto   molto lento, molto sicuro.
  •   
  • Fsync () una sola volta   ogni secondo. Abbastanza veloce, e si può   perde 1 secondo di dati se v'è un   disastro.
  •   
  • Mai fsync (), basta mettere la   dati nelle mani del funzionamento   Sistema. Il metodo più veloce e unsafer.
  •   

(Si noti che il valore predefinito per appendfsync nel trasporto di file di configurazione con Redis post-2.0.0 è everysec, e non always.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top