第四种:使用第三方工具redis-dump
为什么把使用第三方redis-dump工具放到最后那,这个工具说简单也简单,主要是如果对linux操作不熟练的话,会碰到很多坑。
废话不多说,实操。
redis-dump 工具是基于 ruby开发得,首先必须安装ruby ,这里要注意,不能直接使用yum install ruby ruby-dev ,这样安装得ruby 是2.0,而redis-dump 需要 2.2 以上版本。
先安装 rvm ,然后安装 ruby2.6(一定要大于2.2版本) ,最后使用 gem 安装 redis-dump。
1、安装 rvm
curl -sSL https://get.rvm.io | bash -s stable
安装成功后使用:
ln usr/local/rvm/bin/rvm /usr/bin/rvmrvm list know #查看版本
最新的是 2.6,直接使用如下命令安装,具体操作看注释。
rvm install ruby 2.6 #安装ruby2.6find / -name ruby #找不到安装在什么地方了,请使用find命令/usr/local/rvm/rubies/ruby-2.6.0/bin/ruby -v #查看版本号ln -s /usr/local/rvm/rubies/ruby-2.6.0/bin/ruby /usr/bin/ruby #创建软连接,方操作ruby -v #创建软连接完毕后,就可直接使用ruby -v 查看版本号了gem install redis-dump -V # 使用gem 安装 redis-dumpfind / -name gem # 如果提示找不到 gem ,请使用find 命令查找。ln -s /usr/local/rvm/src/ruby-2.6.0/bin/gem /usr/bin/gem #创建gem软连接gem install redis-dump -V #同上,可以直接使用gem命令了。redis-dump #如果提示找不到 redis-dump 命令,find / -name redis-dump #使用find 查找 reids-dumpln -s /usr/local/rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/redis-dump-0.4.0/bin/redis-dump /usr/bin/redis-dump #创建redis-dump 软连接redis-dump -v #软连接创建完毕,可以直接使用redis-dump命令#--------------------以上为ruby和redis-dump安装过程-----------------------------cd /data/redis/db redis-dump -u 127.0.0.1:6380 > test.json
![2c52995921253c900d147211e4ef3519.png](https://i-blog.csdnimg.cn/blog_migrate/28f76a5b17fe462c2408b4bbc3d89959.jpeg)
![ae47f9d6ed911e9dc7cadb11393ba644.png](https://i-blog.csdnimg.cn/blog_migrate/13c9f2d788b735250fd0c7e92896b960.jpeg)
导入命令:
redis-dump –u 127.0.0.1:6379 > test.json # 导出
redis-dump -u 127.0.0.1:6379 -d 2 > test.json # -d 参数:是几号数据库
redis-dump -u :password@127.0.0.1:6379 > test.json #password 为redis 密码
导入命令:
#这里注意 这个小于号不是摆设。。。一定要有。。。。不然就会报错,如下:
![6dc7d56767621855754c72d4f2e5d464.png](https://i-blog.csdnimg.cn/blog_migrate/3dd00217586360940d998cb8c3d18a2d.jpeg)
< test.json redis-load # 无密码清空
< test.json redis-load -u :password@127.0.0.1:6379 #有密码情况
具体命令使用请看手册。
实际操作命令如下:
![1a4dbf938cdc79d119b113ffb0c5c850.png](https://i-blog.csdnimg.cn/blog_migrate/4a80707562bc5073379bde393c19f914.jpeg)
[root@localhost db]# redis-cli -p 6380 dbsize
(integer) 0
[root@localhost db]# < test.json redis-load -u 127.0.0.1:6380
[root@localhost db]# redis-cli -p 6380 dbsize
(integer) 78