Redis数据迁移方案

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

场景

Redis实例A ---> Redis实例B,整库全量迁移

方案一:

mac环境
brew install npm
npm install redis-dump -g

针对RedisA: redis-dump -h host1 -p 6379 -d 1 --json > mydb.json
针对RedisB: cat mydb.json | redis-dump --convert | redis-cli 
方案二:
参考: http://www.zlovezl.cn/articles/migrate-redis-server-seamlessly/, 利用redis的主从复制,从RedisA同步到RedisB,完成后,恢复RedisB的master身份。

方案三:(针对阿里云Redis数据迁移)
RedisA实例的dump.rdb文件拷贝到一台阿里云ecs服务器上,该服务器应该能够连接到RedisB实例,在该服务器上自建一个redis实例RedisC, 并RedisC的redis.conf配置文件中的下列配置作出修改:
# The filename where to dump the DB
dbfilename dump.rdb

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.

# Also the Append Only File will be created inside this directory.

# Note that you must specify a directory here, not a file name.
dir /data/mydirectory/  #此处路径为你拷贝过来的dump.rdb文件所在路径

启动RedisC实例,即可导入RedisA实例的所有内容

方案四:
开启用户现有 Redis 实例的 AOF 功能(如果实例已经启用 AOF 功能则忽略此步骤)。

# redis-cli -h old_instance_ip -p old_instance_port config set appendonly yes

通过 AOF 文件将数据导入到新的 ApsaraDB for Redis 实例 (假定生成的 AOF 文件名为 append.aof)。
# redis-cli -h aliyun_redis_instance_ip -p 6379 -a password --pipe < appendonly.aof
注意:如果原有旧的 Redis 实例不需要一直开启 AOF,可在导入完成后通过以下命令关闭。
# redis-cli -h old_instance_ip -p old_instance_port config set appendonly no

-------------------------------------- 两个阿里云redis实例间的数据迁移,综合方案三,四 --------------------------------------------------------------
1)旧redis实例的*.rdb文件拷贝到一台阿里云ecs服务器(ServerA)上,执行方案三
保存为dump.rdb到目录 /var/lib/redis/dump.rdb
重启redis: service redis restart
2)执行方案四(在ServerA上运行如下命令)
redis-cli config set appendonly yes(针对本地自建redis)
redis-cli -h 新redis实例host  -a 密码 --pipe < /var/lib/appendonly.aof

/var/lib/appendonly.aof 表示 appendonly.aof文件在ServerA上的绝对路径
redis-cli config set appendonly no (针对本地自建redis)


      本文转自zsdnr  51CTO博客,原文链接:http://blog.51cto.com/12942149/1949810,如需转载请自行联系原作者








相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
23天前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
77 2
|
3月前
|
监控 NoSQL Linux
【分布式】Redis的持久化方案解析
【1月更文挑战第25天】【分布式】Redis的持久化方案解析
|
26天前
|
缓存 运维 NoSQL
【Redis故障排查】「连接失败问题排查和解决」带你总体分析和整理Redis的问题故障实战开发指南及方案
【Redis故障排查】「连接失败问题排查和解决」带你总体分析和整理Redis的问题故障实战开发指南及方案
245 0
|
27天前
|
NoSQL Redis Docker
Docker中Redis数据迁移到本地
Docker中Redis数据迁移到本地
18 1
|
16天前
|
NoSQL Redis 数据库
通过migrate命令实现两个redis实例之间的数据迁移
通过migrate命令实现两个redis实例之间的数据迁移
|
17天前
|
NoSQL Redis Sentinel
redis数据迁移方式
redis数据迁移方式汇总
19 0
|
3月前
|
NoSQL Java 关系型数据库
处理Redis与MySQL数据不一致的Java定期巡检方案
处理Redis与MySQL数据不一致的Java定期巡检方案
30 0
|
3月前
|
缓存 NoSQL 算法
Redis 企业级数据备份方案
Redis 企业级数据备份方案
37 1
|
4月前
|
NoSQL 算法 Java
Redis实现分布式锁的几种方案
Redis实现分布式锁的几种方案
37 0
|
5月前
|
监控 NoSQL Redis
Redis监控方案
Redis监控方案
105 0