redis几种数据导出导入方式

环境说明:

172.20.0.1 redis源实例
172.20.0.2 redis目标实例
172.20.0.3 任意linux系统

一、redis-dump方式

1.安装redis-dump工具

[root@172.20.0.3 ~]# yum install ruby rubygems ruby-devel -y

更改gem源

[root@172.20.0.3 ~]# gem sources -a http://ruby.taobao.org
Error fetching http://ruby.taobao.org:
    bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

访问http://ruby.taobao.org,公告通知镜像维护站点已迁往Ruby China镜像

#gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
[root@172.20.0.3 ~]# gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.org/
http://gems.ruby-china.org/ added to sources
source http://rubygems.org/ not present in cache
[root@172.20.0.3 ~]# gem sources -l
*** CURRENT SOURCES ***
 
http://gems.ruby-china.org/
[root@172.20.0.3 ~]# gem install redis-dump -V

2.redis-dump导出

[root@172.20.0.3 ~]# redis-dump -u :password@172.20.0.1:6379 > 172.20.0.1.json

3.redis-load导入

[root@172.20.0.3 ~]# cat 172.20.0.1.json | redis-load -u :password@172.20.0.2:6379

二、aof导入方式

1.源实例生成aof数据

清空上文目标实例全部数据

[root@172.20.0.1 ~]# redis-cli -h 172.20.0.2 -a password flushall
OK

源实例开启aof功能,将在dir目录下生成appendonly.aof文件

[root@172.20.0.1 ~]# redis-cli -h 172.20.0.1 -a password config set appendonly yes
OK

2.目标实例导入aof数据

假设appendonly.aof就在当前路径下

[root@172.20.0.1 ~]# redis-cli -h 172.20.0.2 -a password --pipe < appendonly.aof
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5

源实例关闭aof功能

[root@172.20.0.1 ~]# redis-cli -h 172.20.0.1 -a password config set appendonly no
OK

三、rdb文件迁移方式

暂略

四、源实例db0迁移至目标实例db1

[root@172.20.0.1 ~]# cat redis_mv.sh
#!/bin/bash
redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 keys "*" | while read key
do
    redis-cli -h 172.20.0.1 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 172.20.0.2 -p 6379 -a password -n 1 -x restore $key 0
    echo "migrate key $key"
done
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值