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 -
000xje číslo verze rdb. Ve vašem případě to bude s největší pravděpodobností 0002 nebo 0003FEje selektor databáze a00je čí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.FFje 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 01k 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 01uvedeno 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.