开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Redis数据迁移方案

简介:
+关注继续查看

场景

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,如需转载请自行联系原作者








版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux环境下redis安装
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tomnic_ylwang/article/details/81105639 安装redis需要gcc支持,使用yum进行安装。
1101 0
redis的安装
去redis.io下载稳定版# wget http://download.redis.io/releases/redis-2.8.17.tar.gz# tar -zxvf redis-2.8.17.tar.gz# cd  redis-2.8.17# make# make PREFIX=/usr/local/redis install复制配置文件到安装目录下面# cp redis.conf
1315 0
Linux下php安装Redis扩展
下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz tar zxvf phpredis-2.2.4.tar.gz #解压 cd phpredis-2.2.4 #进入安装目录 phpize ./configure  make  sudo make install 修改配置文件 sudo
1459 0
Redis安装及主从配置
一、何为Redis   redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
859 0
*****linux下redis安装
我用的系统是:redhat [root@infa ~]# wget http://download.redis.io/releases/redis-2.8.12.tar.gz   tar xzf redis-2.
698 0
Windows环境下安装Redis
1:首先下载redis。从下面地址下:https://github.com/MSOpenTech/redis/releases2:创建redis.conf文件:这是一个配置文件,指定了redis的监听端口,timeout等。
952 0
分布式业务Redis安装与集群配置
       Redis在百度百科里的解释:Redis是一个开源的使用ANSI  C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,包括C#、Java、PHP等等,甚至连Javascript都做了很好的封装。
1088 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Redis&MongoDB的同步、迁移以及混合云场景构建
立即下载
Codis 集群演化与 Redis 异步迁移
立即下载
阿里云Redis——读写分离
立即下载