[redis] 几种redis数据导出导入方式详解程序员

环境说明:

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

一、redis-dump方式

  1.安装redis-dump工具

[[email protected] ~]# yum install ruby rubygems ruby-devel -y 
# 更改gem源 
[[email protected] ~]# 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/ 
[[email protected] ~]# 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 
[[email protected] ~]# gem sources -l 
*** CURRENT SOURCES *** 
 
http://gems.ruby-china.org/ 
[[email protected] ~]# gem install redis-dump -V

  2.redis-dump导出

[[email protected] ~]# redis-dump -u :[email protected]:6379 > 172.20.0.1.json

  3.redis-load导入

[[email protected] ~]# cat 172.20.0.1.json | redis-load -u :[email protected]:6379 

 

二、aof导入方式

  1.源实例生成aof数据

# 清空上文目标实例全部数据 
[[email protected] ~]# redis-cli -h 172.20.0.2 -a password flushall 
OK 
# 源实例开启aof功能,将在dir目录下生成appendonly.aof文件 
[[email protected] ~]# redis-cli -h 172.20.0.1 -a password config set appendonly yes 
OK 

  2.目标实例导入aof数据

# 假设appendonly.aof就在当前路径下 
[[email protected] ~]# 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功能 
[[email protected] ~]# redis-cli -h 172.20.0.1 -a password config set appendonly no 
OK 

 

三、rdb文件迁移方式

暂略

 

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

[[email protected] ~]# 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

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/2409.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论