РЕДАКТИРАНЕ
Този отговор вече не е точен за по-новите версии на redis. Оставяме отговора по исторически причини.
Ако желаете да поиграете малко с двоични файлове, можете лесно да комбинирате двата файла dump.rdb в един.
Предположения :
- Всяко сметище има само една база данни – базата данни по подразбиране
- Използвате Redis 2.4.x и следователно дъмп версията е 2 или 3
Ако отворите файла в шестнадесетичен редактор, това е форматът на RDB файла -
REDIS000x FE 00 <actual data > FF
Тук -
000x
е номерът на версията на rdb. Най-вероятно ще бъде 0002 или 0003 във вашия случайFE
е селекторът на базата данни и00
е номерът на базата данни<actual data>
е двойките ключ-стойност в текущата база данни. Можете да третирате това като двоичен blob за текущата си цел.FF
е последният байт във файла и показва края на rdb файла
Така че, за да обедините двата rdb файла, направете следното -
- Създайте нов целеви файл
- Копирайте всичко от първия файл с изключение на последния
FF
- Копирайте два байта
FE 01
за указване на началото на втората база данни - ЗАБЕЛЕЖКА:Ако сте сигурни, че двете бази данни нямат дублирани ключове и искате да ги комбинирате в една база данни, просто пропуснете двата байта
FE 01
споменато по-горе. - От втория файл пропуснете първите 11 байта - т.е. пропуснете
REDIS000x FE 00
- Копирайте върху останалата част от втория файл, включително последния байт
FF
Вече можете да копирате този нов dump.rdb в съответната директория в redis и да рестартирате.
Ако се интересувате, ето пълната документация за файловия формат на redis dump, но не е нужно да разбирате всичко за този прост случай на употреба.