❝In diesem Artikel werden die Wissenspunkte erläutert Einführung in die Persistenz RDB AOF Der Unterschied zwischen RDB und AOF Persistenzanwendungsszenarien
❞
❝Kaka hat eine Roadmap zusammengestellt und einen Interviewleitfaden erstellt, um das Schreiben von Artikeln gemäß einer solchen Roadmap vorzubereiten, stellte jedoch später fest, dass es keine Ergänzung gab Wissenspunkte werden hinzugefügt. Ich freue mich auch darauf, dass Ihre Partner mithelfen, etwas zu leisten. Wir sehen uns im Kommentarbereich!
❞
centos7.0 redis4.0 Redis-Speicherverzeichnis:/usr/local/redis redis.conf-Speicherverzeichnis:/usr/local/redis/data
Alle Daten in Redis werden im Speicher gespeichert. Wenn Redis abstürzt, gehen die Daten verloren. Redis-Persistenz besteht darin, Daten auf der Festplatte zu speichern. Der Arbeitsmechanismus, der permanente Speichermedien verwendet, um Datenprozesse zu speichern und die gespeicherten Daten zu einem bestimmten Zeitpunkt wiederherzustellen, wird als Persistenz bezeichnet.
Was wird im Persistenzprozess gespeichert?
Das erste Snapshot-Formular speichert Datenergebnisse und konzentriert sich auf die unten besprochenen RDB.
Der zweite Vorgang speichert den Vorgang. Die Speicherstruktur ist komplex und der Schwerpunkt liegt auf dem Datenvorgang die AOF, die weiter unten besprochen wird
Das folgende Bild zeigt die Konfigurationsinformationen von redis.conf Ausführen Nach dem Speichern wird eine Datei dump.rdb generiert. Jetzt legen wir einen Wert fest und speichern ihn. Unter /usr/local/redis/data befindet sich eine Datei dump6379.rdb2-2 RDB-Startmodus – Konfiguration im Zusammenhang mit dem Speicherbefehl der RDB-Dateipfad
Wenn bgsave in Redis ausgeführt wird, wird eine gestartete Hintergrundspeicherung direkt zurückgegeben
Zu diesem Zeitpunkt sehen wir uns die Protokolldatei an. Der Befehl bgsave dient zum Speichern der Optimierung des Blockierungsproblems Es gibt 10 Schlüsselwerte in 300 Sekunden. Wenn eine Änderung auftritt, wird bgsave im Hintergrund ausgeführt
AOF-Persistenz: Zeichnen Sie jeden Schreibbefehl in einem unabhängigen Protokoll auf, und beim Neustart wird der Befehl in der AOF-Datei erneut angezeigt -ausgeführt, um Datenwiederherstellungszwecke zu erreichen. Im Vergleich zu RDB kann es einfach als Prozess der Datengenerierung beschrieben werden. Die Hauptaufgabe von AOF besteht darin, die Echtzeitnatur der Datenpersistenz zu lösen. Dies ist derzeit die gängige Methode der Redis-Persistenz -2 AOF-Datenschreibprozess
appendonly ja|nein
appendonly yes|no
appendfsync always| everysec | no
Konfiguration: Funktion: AOF persistenter Dateiname, der Standardname ist appendonly.aof
Nachdem wir den Namensschlüssel wiederholt festgelegt haben, können wir sehen, dass es drei Vorgänge gibt , aber diese drei Wir ändern jede Operation mit einem Schlüssel! Können wir nicht nur den letzten Schlüssel speichern? Mit dieser Frage schauen wir weiter nach unten
Da weiterhin Befehle in AOF geschrieben werden, wird die Datei immer größer, um dieses Problem zu lösen wird eingeführt Der AOF-Umschreibmechanismus wird verwendet, um die Dateigröße zu komprimieren. Beim Umschreiben von AOF-Dateien werden Daten im Redis-Prozess in Schreibbefehle umgewandelt und mit der neuen AOF-Datei synchronisiert. Einfach ausgedrückt wandelt es die Ausführungsergebnisse mehrerer Befehle für dieselben Daten in die Ausführungsdatensätze der Anweisungen um, die den Endergebnisdaten entsprechen.
Zum Beispiel haben wir oben den Befehl „set name“ dreimal ausgeführt, aber am Ende benötigen wir nur die Daten der letzten Ausführung. Das heißt, wir benötigen nur den letzten Ausführungsdatensatz.
. Legen Sie einen Schlüsselwert mehrmals fest usw.
lpush list a lpush lsit b lpush list c
kann in lpush list a b c
Um jedoch zu verhindern, dass der Client-Puffer aufgrund einer übermäßigen Datenmenge überläuft, führen wir für list,set,hash,zset
类型每条指令最多写入64个元素指令:bgrewriteaof
nach unseren Fragen 3-5 den Befehl bgrewriteaof in der Befehlszeile aus und sehen uns dann die Datei appendonly.aof an
Nach der Ausführung Wir werden feststellen, dass die Datei kleiner wird und nur eine Anweisung in der Datei vorhanden ist
Konfiguration:auto-aof-rewrite-percentage 100 | auto-aof-rewrite-min-size 64mb
触发对比参数:aof_current_size | aof_base_size
Wenn aof_current_size > mit dem Neuschreiben beginnt
Dieses Bild kommt aus dem Internet
Es ist datenempfindlich Es wird empfohlen, die standardmäßige AOF-Persistenzlösung zu verwenden.
Wird die RDB-Persistenzlösung verwendet? Seien Sie in der Phase gut fertig Es gibt keinen internen Verlust (diese Phase wird manuell von Entwicklern und Betriebs- und Wartungspersonal verwaltet) und die Wiederherstellungsgeschwindigkeit ist schnell. Bei der Datenwiederherstellung auf der Bühne wird normalerweise die RDB-Lösung verwendet. Hinweis: Verwenden Um eine enge Datenpersistenz durch RDB zu erreichen, ist der Rückgang bei Redis sehr gering. Umfassender Vergleich
Das obige ist der detaillierte Inhalt vonIn diesem Artikel erfahren Sie mehr über die vollständige Version der Redis-Persistenz.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!