Dieser Artikel wird Ihnen helfen, AOF in Redis-Persistenz zu verstehen, das Prinzip von AOF und die Mängel von AOF vorzustellen. Ich hoffe, dass er für alle hilfreich sein wird!
Redis
RDB
ist Redis
中的一种持久化方式就是RDB
此文我们来讲另一种实现方式那就是AOF
AOF
是通过只记录Redis
写入命令的追加式日志文件
AOF
日志存储的因为是顺序指令,所以在Redis
宕机后,内部"重走一遍老路",就可以达到恢复数据的目的
【相关推荐:Redis视频教程】
Redis
都会把命令追加到AOF
文件里面实际是将内容写到内存的一个缓存汇总
所以Redis
需要实时的去调用Linux
提供的fsync
函数每次将制定文件从内核缓存写到磁盘
因为如果实时的去调用函数是非常我们也可以通过改变配置参数来调整调用fsync
函数的频率
AOF
文件,日志会变得越来越大Redis
内部实现了「重写」,用来压缩文件key-value
早就已经国企,或者很多值不断被更新,那么日志还存这些无用的数据显然是可以进行优化的AOF
日志中AOF
AOF
AOF
AOF
ist eine Nur-Anhänge-Protokolldatei, die nur Redis
-Schreibbefehle aufzeichnetAOF
-Protokolle speichern Redis
der Zweck der Datenwiederherstellung erreicht werden kann, indem intern „der alte Pfad erneut durchlaufen“ wird 🎜🎜【Verwandte Empfehlungen: Redis-Video-Tutorial🎜】🎜Redis
den Befehl an die AOF
-Datei an🎜🎜🎜 Es ist tatsächlich ein Cache-Zusammenfassung, die den Inhalt in den Speicher schreibt🎜🎜🎜🎜, daher muss Redis
die von Linux
bereitgestellte fsync
-Funktion jedes Mal in Echtzeit aufrufen Zeit Schreiben Sie die angegebene Datei aus dem Kernel-Cache auf die Festplatte🎜🎜🎜🎜Denn wenn es sehr wichtig ist, die Funktion in Echtzeit aufzurufen, können wir auch die Häufigkeit des Aufrufs der Funktion fsync
durch Ändern anpassen die Konfigurationsparameter🎜🎜🎜🎜🎜AOF
-Dateien anhängen, wird das Protokoll immer größer 🎜🎜Daher implementiert Redis
code> intern das „Umschreiben“, um Dateien zu komprimieren. 🎜🎜 Erstens, weil viele Schlüsselwerte
bereits in Staatsbesitz waren oder viele Werte werden ständig aktualisiert, die Protokolle speichern immer noch diese nutzlosen Daten. Offensichtlich kann es optimiert werden🎜🎜Erstellen Sie also einen Unterprozess, um den Speicher zu durchlaufen.🎜🎜Traverse in ein neues Dateiprotokoll, sodass nur der neueste Wert im gespeichert werden muss AOF
log🎜🎜 Wir können den folgenden Befehl verwenden, um das Umschreiben zu aktivieren. Natürlich können wir ihn auch so einstellen, dass AOF
automatisch ausgeführt wird.🎜🎜🎜🎜🎜🎜AOF
Nachteile 🎜🎜🎜🎜🎜Jedes Durchlaufen des gesamten Speichers bringt eine Menge zusätzlichen Leistungsaufwand für das System mit sich🎜🎜🎜🎜Das Wiederherstellen von Daten ist jedes Mal ein langer Prozess und ein langer Schreibvorgang Der Kernel auf die Festplatte verbraucht jedes Mal E/A-Leistung🎜 🎜🎜🎜Weitere Programmierkenntnisse finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Prinzipien und Mängel von AOF in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!