Cane's Blog

Cane

【Windows】Redis导入/导出数据

85
2019-05-08

Windows 平台

1. 安装工具:redis-dump-load

pip install redis-dump-load

2. 用法说明

Usage: redis-dump [options]
Dump data from specified or default redis.

If no output file is specified, dump to standard output.

Options:
-h, --help show this help message and exit
-H HOST, --host=HOST connect to HOST (default localhost)
-p PORT, --port=PORT connect to PORT (default 6379)
-s SOCKET, --socket=SOCKET
connect to SOCKET
-w PASSWORD, --password=PASSWORD
connect with PASSWORD
-d DB, --db=DB dump DATABASE (0-N, default 0)
-k KEYS, --keys=KEYS dump only keys matching specified glob-style pattern
-o OUTPUT, --output=OUTPUT
write to OUTPUT instead of stdout
-y, --pretty split output on multiple lines and indent it
-E ENCODING, --encoding=ENCODING
set encoding to use while decoding data from redis

3. 导出

redis-dump --host=localhost --port=6379 >zuobiao.json (-d 指定数据库,-k 指点key)

4. 导入

  1. 本地导入

    < test.json redis-load --host=localhost --port=6379
    redis-load  -host=xxxxx --port=6379 test.json
  2. 远程导入

    redis-dump -u 127.0.0.1:6378 -a password > /watcherlab/data/dnsData/redis_6378.json

    注:从 redis-dump 导出的文件可能有多余字段,如下,需要删除(从「ttl」开始)

    2019-06-21-13-51-53.png

Linux 平台

1. 安装 gcc

yum -y install gcc automake autoconf libtool make ruby rubygems ruby-devel

2. 配置 Ruby 官网源地址

gem sources -a http://gems.ruby-china.com/  # 添加国内源地址
gem source -l  # 查看是否添加成功
gem source --remove https://rubygems.org/  # 去掉国外源地址
gem source -l 

3. 安装 rvm

可能需要的前置准备

配置 Google DNS:echo “nameserver 8.8.8.8” >> /etc/resolv.conf

导入 key

gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import --

4. 安装 Ruby

find / -iname rvm -type f
echo "export PATH=$PATH:/usr/local/rvm/bin" >> /etc/profile && source /etc/profile
rvm install 2.3.3

确认Ruby版本,因为 redis-dump 必须要求 ruby 的版本不低于 2.2.2

ruby -v,如果输出信息是 「ruby 2.3.3xxx」,说明现在用的版本是正确的,否则需要设置

rvm use 2.3.3 --default,将默认使用 ruby 的版本设置为 2.3.3

rvm remove $version,删除旧版本,$version 就是 ruby -v 查到的版本,只需要指定前面的数字版本号就行

5. 安装 redis-dump

gem install redis-dump -V

6. 导出

find / -iname redis-dump
redis-dump -u :yourpassword@127.0.0.1:6379 > /tmp/redis-mv.json # 注意换成自己的密码,如果没有密码就去掉

7. 导入

cat redis-mv.json | redis-load -u :yourpassword@127.0.0.1:6379 # 注意换成自己的密码,如果没有密码就去掉