redis-port
Codis官方提供的工具redis-port,官方工具适用与redis/codis数据到redis/codis,从源redis或codis读取数据后写入codis集群的话一定要通过proxy写入,否则可能出现数据查询不到的情况
官方工具地址:
https://github.com/CodisLabs/redis-port
GITHUP下载地址:
https://github.com/CodisLabs/redis-port/releases/download/v1.2.1/redis-port-v1.2.1-go1.7.5-linux.tar.gz
通过文件导入
redis-port restore -i dump.rdb -t 127.0.0.1:6379 -n 8
实时同步
nohup redis-port sync --ncpu=4 --from=10.254.23.235:6379 --target=10.254.99.17:19000 --auth=1qaz@wsx?Z > /tmp/10.254.23.227:6380.log 2>&1 &
nohup redis-port sync --ncpu=4 --from=10.254.23.236:6379 --target=10.254.99.18:19000 --auth=1qaz@wsx?Z > /tmp/10.254.23.227:6380.log 2>&1 &
nohup redis-port sync --ncpu=4 --from=10.254.23.237:6379 --target=10.254.99.19:19000 --auth=1qaz@wsx?Z > /tmp/10.254.23.227:6380.log 2>&1 &
如果源库有密码可以添加参数–password=password
同步指定库使用--filterdb=DB进行过滤
注意:如果目标库是codis时,目标地址必须是codis的proxy地址,否则迁移后的数据会出现无法查询问题
codis数据迁移到codis时,实质上是通过获取源codis-server的数据然后通过目标codis的proxy写入
未测试:是否支持redis-cluster集群迁移
redis-shark
阿里云官方提供的数据迁移工具
开源地址:
https://github.com/alibaba/RedisShake
官方文档地址:
https://help.aliyun.com/document_detail/97027.html?spm=
a2c4g.11186623.6.641.449e5d4aUu1ZSY
两个工具的不同点
1、两者都可以进行redis之间的数据迁移,但是redis-shark不支持从redis或者codis迁移数据到codis;
2、redis-port不允许修改目标库,即源数据存储再db1,迁移后也必须存储在db1;
3、redis-shark可以通过修改target.db参数控制迁移后使用那个DB,配合filter配置灵活迁移数据