Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Ist Redis ein dauerhafter Datenspeicher?

Redis ist es normalerweise nicht als "dauerhafter" Datenspeicher (im Sinne des "D" in ACID.) eingesetzt, sogar mit Journaling. Die meisten Anwendungsfälle opfern absichtlich ein wenig Haltbarkeit im Gegenzug für Geschwindigkeit.

Der Speichermodus "Nur Datei anhängen" kann jedoch optional so konfiguriert werden, dass er dauerhaft funktioniert, auf Kosten der Leistung. Es muss bei jeder Änderung für ein fsync() bezahlt werden. Um dies zu konfigurieren, stellen Sie diese beiden Optionen in Ihrer .conf-Datei ein:

 appendonly yes
 appendfsync always

Aus den Dokumenten:Wie dauerhaft ist die Datei nur anhängen?

Überprüfen Sie redis.conf, Sie können konfigurieren, wie oft Redis Daten auf der Festplatte fsync() macht. Es gibt drei Möglichkeiten:

  • Fsync() jedes Mal, wenn ein neuer Befehl an die Append-Protokolldatei angehängt wird. Sehr sehr langsam, sehr sicher.
  • Fsync() einmal pro Sekunde. Schnell genug, und Sie können 1 Sekunde an Daten verlieren, wenn es zu einer Katastrophe kommt.
  • Niemals fsync(), geben Sie Ihre Daten einfach in die Hände des Betriebssystems. Die schnellere und unsicherere Methode.

(Beachten Sie, dass der Standardwert für appendfsync in der Konfigurationsdatei, die mit Redis nach 2.0.0 ausgeliefert wird, everysec ist , und nicht always .)