问题描述
正在运行的 Redis 服务,想迁移到另一台服务器,该如何迁移?有类似 MySQL 的导入导出功能吗?
问题解答
回答1:redis服务有复制功能,可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制另一台服务器,俗称'主从同步'(redis2.8版本和低于2.8版本的复制逻辑有差别,需注意),所以,数据迁移分成以下几步:
迁移的目标服务器设置为被迁移服务器的slave服务器待slave追上master的进度后,停掉写redis业务(无法停机的话,需要考虑迁移期间的流水重做,或者在业务低峰期执行迁移,接受短暂的数据丢失)主从服务器完全同步后,修改写redis业务配置,指向slave服务器,并断开主从关系恢复写redis业务redis复制功能客参考:链接描述
另外,外网运行的redis实例一定要设置主从并打开持久化选项(redis有两种持久化策略:RDB和AOF),防止单点故障
回答2:1.备份当前的redis ,会有一个dump.rdb 文件2.将文件复制到另一个服务器的redis 目录下3.重启redis 就OK了