有时候需要将 redis 的数据进行导入导出操作,可以使用 redis-dump 这款工具。
redis-dump 工具依赖于2.2以上版本的 ruby,而 centos 环境下 yum 安装的 ruby 版本最高只能是 2.0。因此我们需要先安装高版本 ruby,可以借助 rvm 命令行工具进行 ruby 的安装和环境切换。
安装命令:
cd /tmp
mkdir rvm
cd 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 版本
rvm list known
# 这里我们安装 2.5.1
rvm install ruby 2.5.1
# 移除 gem 自带源(国内无法访问)
gem sources --remove https://rubygems.org/
# 添加 ruby-china 源(淘宝源已不再维护 https://ruby.taobao.org/ )
https://gems.ruby-china.com/
# 安装 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
# 如果redis设有密码
< test.json redis-load -u :password@127.0.0.1:6379
只导出所有 key
echo "keys * " | redis-cli -h <host> -a <pwd> > all-redis-key.txt