三种redis数据导出导入方式

推荐博客连接:https://www.cnblogs.com/hjfeng1988/p/7146009.htmlhtml

                       https://blog.csdn.net/qq_14945847/article/details/77986900redis

 

***建议使用最后一种***docker

1、redis-dump方式

#redis-dump安装

yum install ruby rubygems ruby-devel -y gem sources --add http://gems.ruby-china.com/ --remove https://rubygems.org/ [root@docker ~]# gem sources -l *** CURRENT SOURCES *** http://gems.ruby-china.com/ #肯定只剩这一个 [root@docker ~]# curl -L get.rvm.io | bash -s stable

gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBjson

再执行一遍:api

[root@docker ~]# source /etc/profile.d/rvm.sh
[root@docker ~]# rvm -v
rvm 1.29.8 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]ruby

 列出已知的ruby包并安装bash

[root@docker ~]# rvm list known
[root@docker ~]# rvm install 2.4

安装redis-dump服务器

gem install redis-dump -V

导入与导出curl

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

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

 2、aof方式导入ui

 

 3、rdb文件迁移方式

1. 原redis服务器

登陆redis服务器,而后经过redis的客户端进行链接redis,命令以下:
[root@ ~]# redis-cli
127.0.0.1:6379> 
注释:若是没有将redis-cli安装成服务,能够进入redis的src目录下进行客户端的链接

链接成功后,咱们能够经过下面的命令找到redis的文件存放目录
127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/var/lib/redis"
127.0.0.1:6379> 
注释:在/var/lib/redis下

下面咱们查看一下redis数据备份的触发条件,查看redis配置文件/ect/redis.conf ,能够看到redis数据备份的触发条件为:
save 900 1     #900秒内至少有1个key被更改,进行备份
save 300 10    #300秒内至少有300个key被更改,进行备份
save 60 10000  #60秒内至少有10000个key被更改,进行备份

咱们能够经过 save的方式直接对此时的数据进行备份,命令以下:
[root@ ~]# redis-cli
127.0.0.1:6379> save   #数据备份
127.0.0.1:6379>  #退出
这个时候咱们能够在redis的文件存放目录/var/lib/redis目录下看到刚刚备份的dump.rdb文件

 

二、目标服务器

登陆目标redis服务器,咱们先中止redis服务:
service redis stop  #中止redis服务

而后进入redis的文件存放目录/var/lib/redis,把刚刚备份的dump.rdb文件替换该目录下的dump.rdb文件
(建议先备份当前目录下的dump.rdb文件),重启redis服务
service redis start #启动redis服务
到此,redis数据迁移完成
相关文章
相关标签/搜索