Heim  >  Artikel  >  Datenbank  >  AOF-Methode der Redis-Persistenz

AOF-Methode der Redis-Persistenz

齐天大圣
齐天大圣Original
2020-05-22 09:49:051903Durchsuche

Die RDB-Methode von Redis kann keine Persistenz erreichen, die AOF-Methode jedoch schon. Wenn die Daten wichtig sind und der Verlust schwerwiegende Folgen hat, ist die RDB-Methode offensichtlich ungeeignet und die AOF-Methode sollte verwendet werden. Die AOF-Methode ähnelt in gewisser Weise dem Binlog-Protokoll von MySQL, das nur neue, geänderte und gelöschte Vorgänge aufzeichnet. Der Unterschied besteht darin, dass Redis die AOF-Datei von Zeit zu Zeit neu schreibt, um die Größe der AOF-Datei zu reduzieren.

AOF-Workflow

Hier, warum schreibt der Befehl zuerst in aof_buf, denn wenn die aof-Datei direkt geschrieben wird, ist die Leistung vollständig Hängt von der E/A-Leistung der Festplatte ab. Durch das Schreiben von aof_buf soll die Schreibleistung verbessert werden.

Konfiguration

appendonly: Ob der Aof-Persistenzmodus aktiviert werden soll, die Standardeinstellung ist „Nein“. Wenn Sie es aktivieren möchten, ändern Sie es auf „Ja“.

dir: aof Dateispeicherverzeichnis

appendfilename: aof Dateiname

appendfsync: aof Synchronisierungsmodus, es gibt drei Werte, wie folgt:

  • immer: Jedes Mal synchronisieren, wenn ein Befehl geschrieben wird, die Datensicherheit ist am höchsten, aber die Leistung ist schlecht

  • jede Sekunde: Jede Sekunde synchronisieren, die Standardmethode, hoch Leistung, sicher Die Leistung ist in Ordnung

  • Nein: Der Synchronisierungsvorgang wird dem Betriebssystem überlassen und die Datensicherheit ist am schlechtesten.

auto-aof-rewrite-percentage und auto-aof-rewrite-min-size Diese beiden Konfigurationen beziehen sich auf den aof-rewrite-Mechanismus. Nur diese beiden Bedingungen werden gleichzeitig erfüllt . Löst den Rewrite-Mechanismus aus.

auto-aof-rewrite-min-size bedeutet, dass die Dateigröße beim Umschreiben größer als dieser Wert sein muss. Der Standardwert ist 64 MB

auto-aof-rewrite-percentage bedeutet aktuelle Datei Die Größe muss um ein Vielfaches größer sein als die Dateigröße nach dem letzten Umschreiben.

AOF-Umschreiben

Der AOF-Umschreibmechanismus von Redis verfügt über zwei Möglichkeiten: manuelle Auslösung und automatische Auslösung. Um manuell auszulösen, geben Sie den Befehl bgrewriteof ein. Die automatische Auslösung erfüllt alle beiden oben genannten Bedingungen.

Warum kann das Umschreiben die Dateigröße verringern? Es gibt mehrere Situationen:

  • Abgelaufene Schlüssel und gelöschte Schlüssel werden nicht mehr aufgezeichnet

  • Viele einzelne Operationen können durch eine Operation abgeschlossen werden, z. B. lpush a, lpush b, was nach dem Umschreiben lpush a b ist.

Werfen wir einen Blick auf den Aof-Umschreibprozess

AOF-Methode der Redis-Persistenz

  1. Führen Sie den bgrewriteof-Befehl aus

  2. Der Hauptprozess verzweigt einen untergeordneten Prozess

  3. Der ursprüngliche aof-Mechanismus läuft weiter und gleichzeitig werden auch neue Befehle in aof_rewrite_buf geschrieben

  4. Der untergeordnete Prozess generiert eine neue aof-Datei

  5. Benachrichtigen Sie den übergeordneten Prozess, dass die neue aof-Datei erfolgreich generiert wurde. Hängen Sie die Befehle in aof_rewrite_buf an die neue aof-Datei an.

  6. Nach Abschluss der oben genannten Schritte ist das AOF-Umschreiben abgeschlossen.

Beachten Sie, dass es bei mehreren Redis-Diensten auf einem Server am besten ist, deren Umschreibezeit zu trennen, um eine übermäßige E/A- und CPU-Konkurrenz zu verhindern.

Das obige ist der detaillierte Inhalt vonAOF-Methode der Redis-Persistenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn