有時候需要將 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