EDYTUJ
Ta odpowiedź nie jest już dokładna dla nowszych wersji redis. Pozostawiając odpowiedź z powodów historycznych.
Jeśli chcesz trochę pobawić się plikami binarnymi, możesz łatwo połączyć dwa pliki dump.rdb w jeden.
Założenia :
- Każdy zrzut ma tylko jedną bazę danych - domyślną bazę danych
- Używasz Redis 2.4.x, dlatego wersja zrzutu to 2 lub 3
Jeśli otworzysz plik w edytorze szesnastkowym, jest to format pliku RDB -
REDIS000x FE 00 <actual data > FF
Tutaj -
000x
to numer wersji rdb. Najprawdopodobniej w twoim przypadku będzie to 0002 lub 0003FE
jest selektorem bazy danych, a00
to numer bazy danych<actual data>
to pary klucz-wartość w bieżącej bazie danych. Możesz traktować to jako binarny obiekt typu blob do swojego obecnego celu.FF
jest ostatnim bajtem w pliku i wskazuje koniec pliku rdb
Aby połączyć dwa pliki rdb, wykonaj następujące czynności -
- Utwórz nowy plik docelowy
- Skopiuj wszystko z pierwszego pliku z wyjątkiem ostatniego
FF
- Skopiuj dwa bajty
FE 01
aby wskazać początek drugiej bazy danych - UWAGA:Jeśli jesteś pewien, że dwie bazy danych nie mają zduplikowanych kluczy i chcesz połączyć je w jedną bazę danych, po prostu pomiń dwa bajty
FE 01
wspomniane powyżej. - Od drugiego pliku pomiń pierwsze 11 bajtów - tj. pomiń
REDIS000x FE 00
- Skopiuj resztę drugiego pliku, w tym ostatni bajt
FF
Możesz teraz skopiować ten nowy plik dump.rdb do odpowiedniego katalogu w redis i ponownie uruchomić.
Jeśli jesteś zainteresowany, oto pełna dokumentacja formatu pliku zrzutu redis, ale nie musisz jej wszystkiego rozumieć w tym prostym przypadku użycia.