Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 24125|Antwort: 2

[Redis] Redis-Persistenzunterschied zwischen RDB und AOF

[Link kopieren]
Veröffentlicht am 04.02.2021 13:47:27 | | | |
Redis Windows 64-Bit-Download, offizielle Downloadadresse
https://www.itsvse.com/thread-2576-1-1.html

Redis hat drei Wege zum Einstieg
https://www.itsvse.com/thread-4008-1-1.html

Der Unterschied zwischen Save und BGSAVE in Redis
https://www.itsvse.com/thread-4010-1-1.html

CentOS 7 Installation Redis 5.0.3 Tutorial
https://www.itsvse.com/thread-7201-1-1.html


1. Vorwort

Kürzlich wurde Redis als Cache im Projekt verwendet, um den Datenaustausch zwischen mehreren Geschäftsprozessen zu erleichtern. Da Redis-Daten im Speicher gespeichert sind, gehen alle Daten nach dem Redis-Neustart verloren, wenn die Persistenz nicht konfiguriert ist, daher müssen Sie die Persistenzfunktion von Redis aktivieren, um die Daten auf der Festplatte zu speichern, und wenn Redis-Daten neu gestartet wird, können Sie Daten von der Festplatte wiederherstellen. Redis bietet zwei Möglichkeiten zur Persistenz: RDB-Persistenz (das Prinzip besteht darin, die Datenbankeinträge von Reids im Speicher auf die RDB-Persistenz auf der Festplatte zu speichern) und die andere ist die AOF-Persistenz (das Prinzip besteht darin, die Betriebsprotokolle von Reids in Form eines Anhangs in eine Datei zu schreiben). Was ist also der Unterschied zwischen diesen beiden Persistenzmethoden, und wie entscheidet man sich, sie zu ändern? Die meisten Dinge, die ich im Internet lese, zeigen, wie man diese beiden Methoden konfiguriert und verwendet, aber es gibt keine Einführung in den Unterschied zwischen den beiden und in welchen Anwendungsszenarien man verwenden sollte.


2. Der Unterschied zwischen den beiden

RDB-Persistenz bezeichnet das Schreiben eines Snapshots des Datensatzes im Speicher auf die Festplatte innerhalb eines festgelegten Zeitintervalls, und der eigentliche Vorgang besteht darin, einen Teilprozess zu forken, den Datensatz zunächst in eine temporäre Datei zu schreiben, dann die vorherige Datei nach erfolgreichem Schreiben zu ersetzen und sie mit Binärkompression zu speichern.



Die AOF Persistenz zeichnet jede vom Server verarbeitete Schreib- und Löschvorgänge in Form eines Protokolls auf, und die Abfrageoperation wird nicht aufgezeichnet, sondern in Text festgehalten, und Sie können die Datei öffnen, um den detaillierten Operationseintrag einzusehen.



3. Vor- und Nachteile der beiden

Was sind die Vorteile von RDB?

1). Sobald das verwendet ist, enthält deine gesamte Redis-Datenbank nur noch eine Datei, was perfekt für Dateisicherungen ist. Zum Beispiel möchtest du die letzten 24 Stunden jede Stunde archivieren und auch die letzten 30 Tage jeden Tag archivieren. Mit einer solchen Backup-Strategie können wir uns im Falle eines katastrophalen Systemausfalls leicht erholen.

2). RDB ist eine sehr gute Wahl für die Katastrophenwiederherstellung. Weil wir eine einzelne Datei leicht komprimieren und auf ein anderes Speichermedium übertragen können.

3). Maximiere die Leistung. Für den Redis-Serviceprozess muss er beim Start der Persistenz nur die Kindprozesse austeilen, und dann erledigen die Kindprozesse diese Persistenzaufgaben, was den Dienstprozess erheblich vermeiden kann, IO-Operationen durchzuführen.

4). Im Vergleich zum AOF-Mechanismus ist bei großem Datensatz die Starteffizienz von RDB höher.

Was sind die Nachteile von RDB?

1). Wenn Sie eine hohe Datenverfügbarkeit sicherstellen wollen, also Datenverluste möglichst vermeiden möchten, ist RDB keine gute Wahl. Denn sobald das System vor der geplanten Persistenz ausfällt, gehen die zuvor auf die Festplatte geschriebenen Daten verloren.

2). Da RDB die Datenpersistenz durch Fork-Unterprozesse unterstützt, kann bei großem Datensatz der gesamte Server den Service für Hunderte von Millisekunden oder sogar 1 Sekunde stoppen.

Was sind die Vorteile von AOF?

1). Dieser Mechanismus kann eine höhere Datensicherheit bringen, d. h. Datenpersistenz. In Redis werden drei Synchronisationsstrategien angeboten, nämlich Synchronisation pro Sekunde, Synchronisation pro Modifikation und Desynchronisation. Tatsächlich erfolgt die Synchronisation pro Sekunde ebenfalls asynchron, und ihre Effizienz ist ebenfalls sehr hoch; der Unterschied besteht darin, dass sobald das System ausfällt, die modifizierten Daten innerhalb dieser Sekunde verloren gehen. Und jedes Mal, wenn eine Änderung synchronisiert wird, können wir sie als Synchronisationspersistenz betrachten, das heißt, jede Datenänderung, die stattfindet, wird sofort auf der Festplatte aufgezeichnet. Es ist vorhersehbar, dass diese Methode am wenigsten effizient ist. Was die fehlende Synchronisation angeht, muss man nicht mehr sagen, ich denke, jeder kann es richtig verstehen.

2). Da der Mechanismus den Anhängungsmodus für das Schreiben von Logdateien verwendet, wird selbst bei einer Ausfallzeit während des Schreibprozesses der bereits vorhandene Inhalt nicht vernichtet. Wenn wir jedoch nur die Hälfte der Daten schreiben und das System diesmal abstürzt, keine Sorge, wir können das redis-check-aof-Tool nutzen, um das Problem der Datenkonsistenz vor dem nächsten Start von Redis zu lösen.

3). Wenn das Log zu groß ist, kann Redis automatisch den Umschreibmechanismus aktivieren. Das heißt, Redis schreibt die Modifikationsdaten kontinuierlich im Append-Modus auf die alte Festplattendatei, und Redis erstellt außerdem eine neue Datei, um aufzuzeichnen, welche Modifikationsbefehle in diesem Zeitraum ausgeführt werden. Daher kann die Datensicherheit beim Wechseln zwischen Neuschreibungen besser gewährleistet werden.

4). AOF enthält eine klare, leicht verständliche Logdatei, die alle Änderungen dokumentiert. Tatsächlich können wir die Rekonstruktion der Daten auch über diese Datei abschließen.

Was sind die Nachteile von OV?

1). Für die gleiche Anzahl von Datensätzen sind OF-Dateien in der Regel größer als RDB-Dateien. RDB stellt große Datensätze schneller als AOF wieder.

2). Je nach Synchronisationsstrategie ist AOF in Bezug auf die Betriebseffizienz tendenziell langsamer als RDB. Kurz gesagt, die Effizienz der Synchronisationspolitik pro Sekunde ist relativ hoch, und die Effizienz der synchronen Deaktivierungspolitik ist ebenso effizient wie die von RDB.

Die Kriterien für die Wahl der beiden sind, ob das System bereit ist, im Austausch für höhere Cache-Konsistenz (AOF) auf Leistung zu verzichten, oder ob es bereit ist, Backups zugunsten höherer Leistung bei häufigen Schreibvorgängen nicht zu aktivieren und dann Backups (RDB) beim manuellen Save durchzuführen. RDB hat eine endgültigere konsistente Bedeutung. Die Produktionsumgebung ist jedoch tatsächlich eher eine Kombination aus beidem.


4. Häufige Konfigurationen

RDB-Persistenzkonfiguration

Redis überträgt einen Schnappschuss des Datensatzes in die dump.rdb-Datei. Zusätzlich können wir auch die Häufigkeit von Redis-Server-Dump-Snapshots über die Konfigurationsdatei ändern; nach dem Öffnen der 6379.conf-Datei suchen wir nach speichern und sehen folgende Konfigurationsinformationen:



AOF-Persistente Konfiguration

Es gibt drei Möglichkeiten, im Redis-Profil zu synchronisieren:



Vollständige Konfiguration:



Eine neue Datei "appendonly.aof" wird unter dem Testverzeichnis erstellt, wie folgt:





Vorhergehend:DataTables implementiert Tabellenexport, Excel, CSV und Drucken
Nächster:SQL Server legt die Transaktionsisolationsstufe fest
 Vermieter| Veröffentlicht am 08.02.2021 11:45:25 |
Redis ändert die Standardportnummer und setzt das Zugriffspasswort
https://www.itsvse.com/thread-2577-1-1.html
Veröffentlicht am 22.09.2021 20:26:16 |
Lerne zu lernen...
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com