Frage

Mit dem „dauerhaften“ Ich meine, kann der Server jederzeit abstürzen, und solange die Scheibe bleibt in Takt, gehen keine Daten verloren (siehe ACID ). Scheint, wie das ist, was Journaling-Modus für ist, aber wenn Sie Journaling aktivieren, nicht die Niederlage den Zweck auf im Speicher befindlichen Daten zum Betrieb? Leseoperationen möglicherweise nicht von Journaling betroffen sein, aber es scheint, wie Sie Ihre Schreibleistung töten Journaling würde.

War es hilfreich?

Lösung

Redis ist nicht in der Regel im Einsatz als "dauerhaften" Datenspeicher (im Sinne des "D" in ACID.), Auch mit Journaling. Die meisten Anwendungsfälle absichtlich ein wenig Haltbarkeit im Gegenzug opfern für die Geschwindigkeit.

Doch der „append nur Datei“ Speichermodus kann optional in einer dauerhaften Weise zu arbeiten, so konfiguriert werden, auf Kosten der Leistung. Es wird zahlen müssen für einen fsync () bei jeder Änderung. Um dies zu konfigurieren, stellen Sie diese beiden Optionen in der Conf-Datei:

 appendonly yes
 appendfsync always

Aus der Dokumentation: Wie haltbar ist die hänge nur Datei?

  

Überprüfen Sie redis.conf, können Sie konfigurieren   wie oft Redis wird Fsync () Daten   auf der Festplatte. Es gibt drei Optionen:

     
      
  • Fsync () jedes Mal, wenn ein neuer Befehl ist   zum Anfügen Protokolldatei angehängt. Sehr   sehr langsam, sehr sicher.
  •   
  • Fsync () einmal   jede Sekunde. Schnell genug, und Sie können   1 Sekunde von Daten verlieren, wenn es eine ist   Katastrophe.
  •   
  • Nie fsync (), nur setzen Sie Ihre   Daten in den Händen des Betriebs   System. Je schneller und unsafer Methode.
  •   

(Beachten Sie, dass die Standardeinstellung für appendfsync in der Konfigurationsdatei Versand mit Redis post-2.0.0 ist everysec und nicht always.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top