BEARBEITEN
Diese Antwort ist für neuere Versionen von Redis nicht mehr korrekt. Verlassen Sie die Antwort aus historischen Gründen.
Wenn Sie bereit sind, ein wenig mit Binärdateien herumzuspielen, können Sie die beiden dump.rdb-Dateien einfach zu einer kombinieren.
Annahmen :
- Jeder Dump hat nur eine einzige Datenbank - die Standarddatenbank
- Sie verwenden Redis 2.4.x und daher ist die Dump-Version entweder 2 oder 3
Wenn Sie die Datei in einem Hex-Editor öffnen, ist dies das Format der RDB-Datei -
REDIS000x FE 00 <actual data > FF
Hier -
000x
ist die RDB-Versionsnummer. In Ihrem Fall wird es höchstwahrscheinlich 0002 oder 0003 seinFE
ist der Datenbankselektor und00
ist die Datenbanknummer<actual data>
sind die Schlüssel-Wert-Paare in der aktuellen Datenbank. Sie können dies für Ihren aktuellen Zweck als binären Blob behandeln.FF
ist das letzte Byte in der Datei und zeigt das Ende der rdb-Datei an
Um also die beiden RDB-Dateien zusammenzuführen, gehen Sie wie folgt vor -
- Erstellen Sie eine neue Zieldatei
- Kopieren Sie alles aus der ersten Datei außer dem letzten
FF
- Kopieren Sie zwei Bytes
FE 01
um den Beginn der zweiten Datenbank anzuzeigen - HINWEIS:Wenn Sie sicher sind, dass die beiden Datenbanken keine doppelten Schlüssel haben, und Sie sie in einer einzigen Datenbank kombinieren möchten, überspringen Sie einfach die zwei Bytes
FE 01
oben erwähnt. - Überspringen Sie von der zweiten Datei die ersten 11 Bytes - d.h. überspringen Sie
REDIS000x FE 00
- Kopieren Sie den Rest der zweiten Datei, einschließlich des letzten Bytes
FF
Sie können diese neue dump.rdb nun in das entsprechende Verzeichnis in redis kopieren und neu starten.
Wenn Sie interessiert sind, finden Sie hier die vollständige Dokumentation des Redis-Dump-Dateiformats, aber Sie müssen nicht alles für diesen einfachen Anwendungsfall verstehen.