編集
この答えは、新しいバージョンのredisでは正確ではなくなりました。歴史的な理由で答えを残します。
バイナリファイルを少し試してみたい場合は、2つのdump.rdbファイルを1つに簡単に組み合わせることができます。
前提条件:
- 各ダンプには、デフォルトのデータベースであるデータベースが1つだけあります
- Redis 2.4.xを使用しているため、ダンプバージョンは2または3のいずれかです
16進エディタでファイルを開くと、これはRDBファイルの形式です-
REDIS000x FE 00 <actual data > FF
ここで-
-
000x
rdbのバージョン番号です。あなたの場合は、おそらく0002または0003になります -
FE
はデータベースセレクターであり、00
データベース番号です <actual data>
現在のデータベースのキーと値のペアです。これは、現在の目的ではバイナリブロブとして扱うことができます。-
FF
はファイルの最後のバイトであり、rdbファイルの終わりを示します
したがって、2つのrdbファイルをマージするには、次のようにします-
- 新しい宛先ファイルを作成します
- 最後の
FF
を除く最初のファイルからすべてをコピーします - 2バイトをコピーする
FE 01
2番目のデータベースの開始を示す - 注:2つのデータベースに重複するキーがないことが確実で、それらを1つのデータベースに結合する場合は、2バイトの
FE 01
をスキップしてください。 上記。 - 2番目のファイルから、最初の11バイトをスキップします。つまり、
REDIS000x FE 00
をスキップします。 - 最後のバイトを含む2番目のファイルの残りの部分をコピーします
FF
これで、この新しいdump.rdbをredisの適切なディレクトリにコピーして再起動できます。
興味のある方は、redisダンプファイル形式の完全なドキュメントをご覧ください。ただし、この単純な使用例では、すべてを理解する必要はありません。