在Redis的应用中有的时候我们需要将Redis中的数据导出,然后在另一台Redis上将数据导入,这个过程需要用到一个工具叫做redis-dump,今天主要向大家介绍改工具的安装及使用。
redis-dump
这款工具需要用到Ruby
,而centos
环境中的yum
工具可以安装的Ruby
版本最高是2.0
的版本,而当前Redis
最新的4.0
版本中需要用到的Ruby >= 2.2
版本,所以我们需要先安装Ruby
,而安装Ruby
有一个很好的命令行工具可以帮助我们,这款工具就是RVM
,RVM
可以提供一个便捷的多版本 Ruby
环境的管理和切换。
# 首先老规矩,我们先到tmp下,用来存放下载的安装文件
cd /tmp
mkdir rvm
cd rvm
# 开始安装RVM
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc
gpg --verify rvm-installer.asc
bash rvm-installer stable
source /etc/profile.d/rvm.sh
安装Ruby
# 查看可以安装的Ruby版本
rvm list known
# 这里我们安装2.4.1
rvm install ruby 2.4.1
# 移除gem自带源
gem sources --remove https://rubygems.org/
# 添加淘宝源
gem sources -a https://ruby.taobao.org/
# 安装redis-dump
gem install redis-dump -V
# 导出命令
redis-dump -u 127.0.0.1:6379 > test.json
# 导出指定数据库数据
redis-dump -u 127.0.0.1:6379 -d 15 > test.json
# 如果redis设有密码
redis-dump -u :password@127.0.0.1:6379 > test.json
#导入命令
< test.json redis-load -u 127.0.0.1:6379
# 如果redis设有密码
< test.json redis-load -u :password@127.0.0.1:6379
./redis-cli -h 127.0.0.1 -p 6379 -n 4 SMEMBERS wareic_quotation_file_export> a.log
-n 4 表示select 4库
SMEMBERS wareic_quotation_file_export 表示执行的命令