两个redis之间迁移数据/备份数据的最佳方案

redis的备份方案我使用过的有两个,第一个是原生redis的备份方案,第二个方案是使用可视化的yunedit-redis来做备份。

先来说redis原生的备份方案,原生的方案是整个rdb备份,整个文件拷贝,然后去替换目标redis的整个文件。但是这样有一个问题。

最大的问题是数据会被刷掉的问题,两个redis的数据不一定是覆盖的关系,有可能redis A迁移到redis B 后,原来redis B 的数据还想保留,这样使用rdb文件备份就不太可行了。

第二个问题是灵活性的问题,假如是rdb文件拷贝,这样要求备份的用户有两台redis的宿主机服务器的访问权限。但是实际上,想做数据迁移的人,往往只有redis权限,并没有redis的宿主机服务器的权限。备份起来就非常不方便了。

因此,这里我推荐是使用yunedit-redis来做redis的数据备份或数据迁移。

它是类似于备份sql文件的方式来做备份,首先将数据导出到本地文件系统,mysql将sql语句导出的这种方式,然后它的导入可以选择导入到redis A,也可以导入到redis B,而且导入后,并不会删除目标redis的其他key。

它的数据导出和导入界面大概如下:

当然,你也要确定两个redis的集群模式是一致的才行。

因为一般单机版或主从版的redis,是有16个逻辑上的db的(默认不选db的话,数据是保存在db0),而集群版的redis是只有一个db的,假如你将单机版的redis,迁移到集群版的redis,可能会出现其他db的数据丢失的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值