RDB-Persistenz
Obwohl Redis als In-Memory-Datenspeicher bekannt ist, ermöglicht Persistenz das Speichern von Daten auf der Festplatte, um sie im Falle eines Serverabsturzes vor Verlust zu schützen. In diesem Kapitel werden die wichtigsten Persistenzmethoden in Redis, deren Konfigurationen und praktische Anwendungsfälle behandelt.
RDB-Persistenz
RDB (Redis Database) erstellt zu bestimmten Zeitpunkten vollständige Snapshots der Redis-Daten. Diese Methode eignet sich für Szenarien, in denen Geschwindigkeit wichtig ist und gelegentlicher Datenverlust akzeptabel ist.
Wie im Diagramm dargestellt, erstellt Redis in regelmäßigen Abständen Snapshots der Daten und speichert sie auf der Festplatte. Dies hilft, den Datenverlust zu minimieren und vereinfacht die Wiederherstellung des Datenbankzustands beim Neustart.
Die Häufigkeit der Snapshot-Erstellung kann in der Datei redis.conf konfiguriert werden.
Zum Anzeigen und Bearbeiten der Datei redis.conf unter macOS:
cat /opt/homebrew/etc/redis.conf
Zum Anzeigen der Datei redis.conf unter Windows kann das Verzeichnis geöffnet werden, in dem Redis installiert ist, und auf die Datei redis.windows.conf zugegriffen werden.
Nach dem Öffnen der Datei sehen Sie die standardmäßigen Snapshot-Einstellungen wie:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Im obigen Beispiel speichert Redis Daten nach den folgenden Kriterien:
- Alle 900 Sekunden (15 Minuten), wenn mindestens ein Schlüssel geändert wurde;
- Alle 300 Sekunden (5 Minuten), wenn mindestens 10 Schlüssel geändert wurden;
- Alle 60 Sekunden, wenn mindestens 10.000 Schlüssel geändert wurden.
Die Häufigkeit, mit der Daten auf die Festplatte gespeichert werden, bestimmt das Maß an Dauerhaftigkeit. Wenn beispielsweise alle 5 Minuten Daten gespeichert werden und ein Ausfall wenige Minuten nach dem letzten Speichern auftritt, gehen die in diesem Zeitraum vorgenommenen Datenänderungen verloren. Daher ist es wichtig, das Speicherintervall sorgfältig zu wählen.
Funktionsweise
Redis speichert den Datenbankzustand in einer .rdb-Datei in den festgelegten Intervallen. Beim Neustart des Servers werden die Daten aus der zuletzt gespeicherten Datei wiederhergestellt.
Vor- und Nachteile
RDB hat nur minimale Auswirkungen auf die Leistung und verwendet ein kompaktes Speicherformat. Es besteht jedoch das Risiko, Daten zu verlieren, die zwischen den Snapshot-Intervallen hinzugefügt wurden.
Manuelle Snapshot-Erstellung
Benutzer können einen RDB-Snapshot auch mit dem Befehl SAVE auslösen. Dieser Befehl blockiert den Redis-Server und sollte daher vermieden werden. Stattdessen sollte der Befehl BGSAVE verwendet werden, da er einen Kindprozess erstellt, der den Snapshot im Hintergrund erstellt.
1. Was macht die RDB-Methode in Redis?
2. Was ist ein Vorteil der RDB-Methode?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
What are the main differences between RDB and other Redis persistence methods?
How do I configure the snapshot intervals for RDB in redis.conf?
Can you explain when to use the SAVE vs BGSAVE commands?
Awesome!
Completion rate improved to 3.33
RDB-Persistenz
Swipe um das Menü anzuzeigen
Obwohl Redis als In-Memory-Datenspeicher bekannt ist, ermöglicht Persistenz das Speichern von Daten auf der Festplatte, um sie im Falle eines Serverabsturzes vor Verlust zu schützen. In diesem Kapitel werden die wichtigsten Persistenzmethoden in Redis, deren Konfigurationen und praktische Anwendungsfälle behandelt.
RDB-Persistenz
RDB (Redis Database) erstellt zu bestimmten Zeitpunkten vollständige Snapshots der Redis-Daten. Diese Methode eignet sich für Szenarien, in denen Geschwindigkeit wichtig ist und gelegentlicher Datenverlust akzeptabel ist.
Wie im Diagramm dargestellt, erstellt Redis in regelmäßigen Abständen Snapshots der Daten und speichert sie auf der Festplatte. Dies hilft, den Datenverlust zu minimieren und vereinfacht die Wiederherstellung des Datenbankzustands beim Neustart.
Die Häufigkeit der Snapshot-Erstellung kann in der Datei redis.conf konfiguriert werden.
Zum Anzeigen und Bearbeiten der Datei redis.conf unter macOS:
cat /opt/homebrew/etc/redis.conf
Zum Anzeigen der Datei redis.conf unter Windows kann das Verzeichnis geöffnet werden, in dem Redis installiert ist, und auf die Datei redis.windows.conf zugegriffen werden.
Nach dem Öffnen der Datei sehen Sie die standardmäßigen Snapshot-Einstellungen wie:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Im obigen Beispiel speichert Redis Daten nach den folgenden Kriterien:
- Alle 900 Sekunden (15 Minuten), wenn mindestens ein Schlüssel geändert wurde;
- Alle 300 Sekunden (5 Minuten), wenn mindestens 10 Schlüssel geändert wurden;
- Alle 60 Sekunden, wenn mindestens 10.000 Schlüssel geändert wurden.
Die Häufigkeit, mit der Daten auf die Festplatte gespeichert werden, bestimmt das Maß an Dauerhaftigkeit. Wenn beispielsweise alle 5 Minuten Daten gespeichert werden und ein Ausfall wenige Minuten nach dem letzten Speichern auftritt, gehen die in diesem Zeitraum vorgenommenen Datenänderungen verloren. Daher ist es wichtig, das Speicherintervall sorgfältig zu wählen.
Funktionsweise
Redis speichert den Datenbankzustand in einer .rdb-Datei in den festgelegten Intervallen. Beim Neustart des Servers werden die Daten aus der zuletzt gespeicherten Datei wiederhergestellt.
Vor- und Nachteile
RDB hat nur minimale Auswirkungen auf die Leistung und verwendet ein kompaktes Speicherformat. Es besteht jedoch das Risiko, Daten zu verlieren, die zwischen den Snapshot-Intervallen hinzugefügt wurden.
Manuelle Snapshot-Erstellung
Benutzer können einen RDB-Snapshot auch mit dem Befehl SAVE auslösen. Dieser Befehl blockiert den Redis-Server und sollte daher vermieden werden. Stattdessen sollte der Befehl BGSAVE verwendet werden, da er einen Kindprozess erstellt, der den Snapshot im Hintergrund erstellt.
1. Was macht die RDB-Methode in Redis?
2. Was ist ein Vorteil der RDB-Methode?
Danke für Ihr Feedback!