redis到codis的数据迁移

本文介绍如何从Redis平滑迁移到Codis,提供自动同步和手动导入两种方案,适用于不同场景,确保数据完整性和业务连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的

本文档适用于redis到codis的数据迁移。文档附带迁移程序。迁移前请确保需要部署的业务程序(如商城)的缓存访问方式已从redis更新到codis。目前有两种方式来迁移缓存:
 

  1. 自动同步:适用于迁移程序可同时访问到redis和codis服务的情景,无需下线原有的redis业务程序,可等到同步程序部署完成后,逐台更新部署业务程序,并下线所有redis服务;
     
  2. 手动导入:适用于迁移程序无法同时访问到redis和codis服务的情景,为防止迁移过程中丢失数据,需要先下线所有的redis业务程序,等手动导入完成后,再下线redis服务,重新部署业务程序。

 

自动同步(推荐)

通过redis-sync同步程序,实时同步redis数据到codis。使用方法如下:

 

  1. redis-sync程序上传到可同时访问到Redis和codis的服务器上;

  2. 获取redis-sync程序执行权限:chmod u+x redis-sync;
  3. 运行redis-sync程序:nohup ./redis-sync --ncpu=2 --master=192.168.142.182:6379 --target=192.168.142.186:19000 > redis-to-codis-6379.log  2>&1 &
     查看日志,无报错和异常情况下会不断输出同步信息

    说明:
    --ncpu 参数:最大使用 CPU 个数,请按机器实际情况配置
    --master参数:redis master的IP和端口号, 若有多个redis master 请修改该参数分别运行多个redis-sync
    --target参数:codis proxy的IP和端口号,集群环境可选任意一个proxy
    > redis-to-codis-6379.log 输出的日志文件名,建议后缀设置为redis master的端口号,以区分不同redis master的日志文件;
  4. 逐台更新部署访问方式已从redis迁移到codis的相关业务程序(如商城);
  5. 停掉所有redis服务, redis下线时,reids-sync 链接会断开,自动退出同步,完成数据迁移。

手动导入

如果同步程序无法同时访问到redis和codis服务,可使用redis-dump和redis-restore程序手动进行迁移,使用该方式请确保所有访问redis服务的业务程序已下线。使用方法如下:

 

  1. redis-dump程序上传到可访问到redis的服务器上;
  2. 获取redis-dump程序执行权限:chmod u+x redis-dump;
  3. 运行redis-dump程序:./redis-dump --ncpu=2 --master=192.168.142.182:6379 --output=save-6379.rdb

    说明:
    --ncpu 参数:最大使用 CPU 个数,请按机器实际情况配置;
    --master参数:redis master的IP和端口号, 若有多个redis master,请修改该参数分别运行多个redis-dump
    -- output参数:从redis中导出的数据文件名,建议后缀设置为redis master的端口号,以区分不同redis master导出的文件。
  4. redis-restore程序上传到可访问到codis的服务器上;
  5. 获取redis-restore程序执行权限:chmod u+x redis-restore;
  6. 拷贝所有redis数据导出文件(.rdb)到当前服务器
  7. 运行redis-restore程序:./redis-restore --ncpu=2 --input=save-6379.rdb --target=192.168.142.186:19000

    说明:
    --ncpu 参数:最大使用 CPU 个数,请按机器实际情况配置;
    -- input参数:从redis中导出的数据文件名,若有多个,请修改该参数执行多次redis-restore
    --target参数:codis proxy的IP和端口号,集群环境可选任意一个proxy
  8. 更新部署相关业务程序(如商城),完成数据迁移。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值