UPRAVIT
Tato odpověď již není přesná pro novější verze redis. Odpověď ponecháme z historických důvodů.
Pokud jste ochotni si trochu pohrát s binárními soubory, můžete snadno spojit dva soubory dump.rdb do jednoho.
Předpoklady:
- Každý výpis má pouze jednu databázi – výchozí databázi
- Používáte Redis 2.4.x, a proto je verze výpisu 2 nebo 3
Pokud soubor otevřete v hex editoru, jedná se o formát souboru RDB -
REDIS000x FE 00 <actual data > FF
Zde -
000x
je číslo verze rdb. Ve vašem případě to bude s největší pravděpodobností 0002 nebo 0003FE
je selektor databáze a00
je číslo databáze<actual data>
je páry klíč–hodnota v aktuální databázi. Pro svůj aktuální účel to můžete považovat za binární blob.FF
je poslední bajt v souboru a označuje konec souboru rdb
Chcete-li tedy sloučit dva soubory rdb, proveďte následující -
- Vytvořte nový cílový soubor
- Zkopírujte vše z prvního souboru kromě posledního
FF
- Zkopírujte dva bajty
FE 01
k označení začátku druhé databáze - POZNÁMKA:Pokud jste si jisti, že obě databáze nemají duplicitní klíče a chcete je sloučit do jediné databáze, jednoduše přeskočte dva bajty
FE 01
uvedeno výše. - Z druhého souboru přeskočte prvních 11 bajtů – tj. přeskočte
REDIS000x FE 00
- Zkopírujte zbytek druhého souboru, včetně posledního bajtu
FF
Nyní můžete tento nový dump.rdb zkopírovat do příslušného adresáře v redis a restartovat.
Máte-li zájem, zde je kompletní dokumentace formátu souboru s výpisem redis, ale pro tento jednoduchý případ použití nemusíte všemu rozumět.