Redis数据迁移方案

方案1: 生产环境迁移方案–服务不能停止

生产环境要求一般保证:

  • 数据不能丢失
  • 目标集群和源集群的redis服务不能停止
  • 数据要实时同步

基于以上三点要求,我觉得唯一可以满足的方式就是通过集群的同步机制

增加一台新的redis服务器,将其作为集群的slave节点,这个服务器的数据可以和源数据库实时同步
这台新增的服务器主节点建立集群或者哨兵。这个集群的数据和源redis集群完全一致。
业务部署时更换ip新redis集群
确定业务没有问题后,切断新旧集群的同步。
这种方式可以比较可靠的完成数据迁移。

方案2:aof迁移-不停机,但数据不实时更新

这种方式优点在于可以不停机,在redis活跃状态也可以迁移。缺点是数据并不是实时更新的。在源数据库copy数据到目标数据库完成导入期间,源数据库可能存在更新数据没有同步。

适用场景:希望可以在线迁移redis,同时可以接受数据不实时更新

# 登录redis1
redis-cli -h 172.20.0.1 -a password

源数据库aof导出

# 生成aof到数据目录
redis-cli -h 172.20.0.1 -a password config set appendonly yes

# 查看数据目录位置
config get dir

可以在目录查看生成的aof文件,即所有数据的操作记录

# 关闭aof功能(可选)
redis-cli -h 172.20.0.1 -a password config set appendonly no

aof还原

# 登录redis2
redis-cli -h 172.20.0.2 -a password

# 清空目标数据库数据
redis-cli -h 172.20.0.2 -a CqI3ACjr88Y5J8YD  flushall

将step1中生成的appendonly.aof文件copy到目标服务器的data目录

# 使用scp命令拷贝到目标服务器的data目录
scp ./*  root@172.20.0.2:/etc/redis/


目标数据库数据导入

# 目标数据库数据导入
redis-cli -h 172.20.0.2 -a password --pipe < appendonly.aof

方案3:rdb方式迁移

这种方式比较简单粗暴,直接将数据库的rdb文件copy过来,在新的数据库下启动即可。
适用场景: 目标数据库可以重启,源数据库最好也可以关闭。

# 方法1:保存数据
redis-cli SAVE

# 方法2:保存文件
redis-cli --rdb /path/to/dump.rdb

dump.rdb 文件复制到目标 Redis 实例所在的服务器。

# 复制到目标服务器
scp /path/to/dump.rdb user@target_server:/path/to/destination/

导入数据:将 dump.rdb 文件放置到目标 Redis 实例的数据目录,并重启 Redis。


# 方法1: 将 dump.rdb 文件放置到目标 Redis 实例的数据目录
mv /path/to/destination/dump.rdb /var/lib/redis/

# 方法2:
cat /path/to/destination/dump.rdb | redis-cli -h target_redis_host -p target_redis_port --pipe


# 重启 Redis服务
systemctl restart redis

方法4:使用redis-dump

# 安装redis-dump
pip install redis-dump

# 备份为json数据
redis-dump > backup.json

# 还原json数据
redis-load < backup.json
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值