redis做数据备份和数据恢复,有使用服务端工具备份和使用客户端工具备份两种方法。
这里推荐统一使用客户端工具做数据备份和恢复,因为使用服务端的备份工具,比如使用命令行工具,在备份端和恢复端在不同的机房的时候,就比较麻烦,需要在源端和目标端的redis实例都安装命令行工具。
这里,可以使用redis客户端工具来做数据备份、数据恢复或者数据迁移,特别在跨实例迁移方便,方便很多。比较常用的工具有yunedit-redis,yunedit-redis是一个可视化的redis工具,可以通过界面导出和导入redis的数据。
yunedit-redis可以将整个redis的数据备份(包含16个db),也可以只备份单一个db,比如db0,还可以使用正侧表达来备份redis的数据。数据恢复(数据导入)的时候,还可以导入数据到其他redis实例的同一个db或其他db中。比如备份的时候导出了云端实例A的db0的数据,而恢复的时候,可以将这个数据导入到云端其他redis实例B的db1或db0中都是可以的。
使用方法:
(1)在pc本地安装yunedit-redis客户端
(2)然后使用yunedit-redis客户端连接需要导出/导入数据的redis实例,再在某个redis实例的某个db下点击右键,就可以导出某个db的数据了,如下图:
导出的数据是zip压缩包格式的,无需将这个zip包解压。
(3)导入数据,恢复数据
yunedit-redis的导入数据很灵活,原来从db0备份出来的数据,可以设置导入到db0,也可以导入到db1。这种特性可以做数冗余备份。如下图:
假如你的redis在云端,但是redis没有开放外网端口,也没关系,yunedit-redis支持ssh隧道功能,可以通过服务端的ssh跳板机,连接云端内网的redis实例。可以使用yunedit-redis通过ssh隧道功能,穿透多个云端的内网,做数据迁移也是可以的。