使用 redis-dump 批量导入导出数据

  有时候需要将 redis 的数据进行导入导出操作,可以使用 redis-dump 这款工具。

一、安装RVM

  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

    # 查看可以安装的 Ruby 版本

  rvm list known 

  # 这里我们安装 2.5.1

  rvm install ruby 2.5.1 

三、安装 redis-dump 工具

   # 移除 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 进行导入导出

  # 导出命令

  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

五、使用 redis 命令只导出 key

  只导出所有 key

  echo "keys * " | redis-cli -h <host> -a <pwd> > all-redis-key.txt

原文地址:https://www.cnblogs.com/hanganglin/p/9951067.html