2017-01-13 1 views
0

Ich muss ein Konzept löschen. Ich habe zwei Redis-Server auf einer einzigen VM ausgeführt. Server # 1 verbindet sich über TCP, Server # 2 verbindet sich über einen UNIX-Socket. Ich bin dabei, den TCP-Server auch nach UNIX zu konvertieren.Fallstricke von zwei Redis-Servern, die die gleiche dump.rdb-Datei verwenden

Die Datei conf für die erste Instanz gibt den folgenden Speicherort zum Speichern des DB-Speicherauszugs an: /var/lib/redis/dump.rdb. Die Datei conf für die zweite Instanz gibt genau denselben Speicherort und dieselbe Datei an.

Bedeutet dies, dass die gespeicherte DB-Datei Daten für beide Redis-Server enthält? Ich muss sicherstellen, dass dieses spezielle Szenario nicht dazu führt, dass ich Daten verliere, wenn ich die Server neu starte. Als Anfänger hätte ich gerne eine Expertenmeinung dazu. Danke im Voraus.

Antwort

1

Nein, das bedeutet, dass ein Server die rdb-Datei des anderen überschreibt. Verwenden Sie die Konfigurationsdatei, um für jeden Server eine andere Speicherabbilddatei anzugeben.

+0

Danke für das Schlagen in Itamar. Ich habe den 'dbfilename' in' dump2.rdb' für den zweiten redis-server in seiner Konfiguration geändert. Gibt es eine Möglichkeit, diese Einstellung anzuwenden, ohne den Server neu zu starten? –

+0

Sicher - 'Config Set dbfilename" dump2.rdb ", um es in Runtime anwenden ... Sie können überprüfen, indem Sie anschließend eine' BGSAVE' und sehen, die Datei entsteht –

+0

Great.Btw nur wundernd: das oben erwähnte Überschreiben geschieht auch wenn es keine Namespace-Kollisionen (für Schlüssel) zwischen den beiden Redis-Servern gibt? –

Verwandte Themen