我有两个Redis实例(或两个相应的dump.rdb文件),我想将它们组合成一个带有两个dbs的实例,每个实例对应一个初始实例.
我可以使用MIGRATE执行此操作,但它仅在Redis 2.6.0中可用,我当前的Redis服务器不支持.
对于较新版本的redis,此答案不再准确.因历史原因留下答案.
如果您愿意使用二进制文件,可以轻松地将两个dump.rdb文件合并为一个文件.
假设:
如果您在十六进制编辑器中打开文件,这是RDB文件的格式 -
REDIS000x FE 00 <actual data > FF
这里 -
000x是rdb版本号.在您的情况下,它很可能是0002或0003FE是数据库选择器,00是数据库编号<actual data>是当前数据库中的键值对.您可以将其视为当前用途的二进制blob.FF 是文件中的最后一个字节,表示rdb文件的结尾因此要合并两个rdb文件,请执行以下操作 -
FFFE 01以指示第二个数据库的开始FE 01上面提到的两个字节.REDIS000x FE 00FF您现在可以将此新dump.rdb复制到redis中的相应目录并重新启动.
如果您感兴趣,这里是redis转储文件格式的完整文档,但您不需要了解这个简单用例的所有内容.
| 归档时间: |
|
| 查看次数: |
3902 次 |
| 最近记录: |