Einführung in die Persistenz
RDB
AOF
Der Unterschied zwischen RDB und AOF
Persistenz-Anwendungsszenarien
Für die Persistenzfunktion ist es eigentlich sehr einfach und nicht so kompliziert
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 Daten, bei denen es sich um die RDB
Der zweite Typ von Betriebsprozess, der Speicherbetriebsprozess, konzentriert sich auf den Datenbetriebsprozess, der AOF
Das folgende Bild zeigt die Konfigurationsinformationen von redis.conf. Nach der Ausführung Nach dem Speichern wird eine dump.rdb-Datei generiert
Jetzt legen wir einen Wert fest und speichern ihn dann in /usr/local/ redis/data Es wird eine Datei dump6379.rdb
geben
Tatsächlich erfordert diese Datenwiederherstellung im Vergleich zu anderen relationalen Datenbankwiederherstellungen grundsätzlich keine Vorgänge. Starten Sie es einfach neu
Wenn Sie Beim Ausführen des Speicherns Anweisungen von anderen Clients, die Redis anfordern, warten, bis die Speicheranweisung abgeschlossen ist. Da die Speicheranweisung in einem einzelnen Thread ausgeführt wird, führt eine zu lange Ausführungszeit direkt dazu, dass andere Benutzer Daten nicht normal speichern können. Daher wird dieser Befehl standardmäßig aufgegeben. Anstelle von
Wenn bgsave in Redis ausgeführt wird Gibt direkt eine gestartete Hintergrundspeicherung zurück
Zu diesem Zeitpunkt sehen wir uns die Protokolldatei an. Der Befehl bgsave ist für das Problem der Speicherblockierung optimiert
以下配置是默认配置 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes
[Zeit] [Anzahl der Schlüsseländerungen] sparen
Mit anderen Worten, wenn sich 10 Schlüsselwerte in 300 Sekunden ändern, wird bgsave im Hintergrund ausgeführt
3-1 AOF-Konzept
3-2 AOF-Datenschreibprozess
Führen Sie einen Redis-Befehl aus
Redis‘ AOF aktualisiert den Befehlspuffer
Dann synchronisieren Sie es mit der in redis.conf konfigurierten .aof-Datei gemäß einer bestimmten Methode
appendonly yes|no
appendfsync always| everysec | no
Dann starten Sie den Redis-Dienst neu und Sie können die Datei appendonly.aof im Verzeichnis usr/local/redis/data
sehen
Dann führen wir einen Befehl auf dem Redis-Client aus und überprüfen ihn. Sie können sehen, dass die Daten in der Datei appendonly.aof gespeichert werden.
Schauen wir uns zunächst einen Fall an, nachdem wir den Namensschlüssel wiederholt festgelegt haben. Wir können sehen, dass es drei Vorgänge gibt, die jedoch alle durch einen Schlüssel geändert werden. Können wir nicht nur den letzten Schlüssel speichern? Mit dieser Frage schauen wir weiter nach unten
Zum Beispiel haben wir oben den Befehl „set name“ dreimal ausgeführt, aber am Ende benötigen wir nur die Aufzeichnung der letzten Ausführung. Das heißt, wir benötigen nur den letzten Ausführungsdatensatz. Weitere Datensätze sind nicht erforderlich und die komprimierten Daten werden in die AOF-Datei neu geschrieben.
Unsere Festplattenauslastung hat sich nach dem Neuschreiben verbessert
Außerdem wird die Geschwindigkeit der Datenwiederherstellung schneller sein
Gleichzeitig wird auch die Effizienz der Persistenz verbessert
hdel,srem
. Es gibt auch das in 3-5 erwähnte Problem. Kontinuierliche Operationen auf einer Taste lpush list a lpush lsit b lpush list c
in lpush list a b c
umgewandelt werden. Befehl: bgrewriteaof
Im Anschluss an unsere Fragen 3–5 führen wir den Befehl bgrewriteaof in der Befehlszeile aus und zeigen dann die Datei appendonly.aof an
Wenn die Die Ausführung ist abgeschlossen. Sie werden feststellen, dass die Datei kleiner geworden ist und nur eine Anweisung in der Datei enthalten ist
Konfiguration:auto-aof-rewrite-percentage 100 | auto-aof-rewrite-min-size 64mb
Trigger-Vergleichsparameter: aof_current_size | aof_base_size
Wenn aof_current_size > auto-aof-rewrite-min-size 64mb mit dem Neuschreiben beginnt
Dieses Bild kommt aus dem Internet
Das Obige dreht sich alles um Redis-Persistenz.
Das obige ist der detaillierte Inhalt vonRedis-Persistenz-Vollversion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!