ITPub博客

首页 > 数据库 > NoSQL > redis数据备份和迁移工具redis-dump安装和使用初探

redis数据备份和迁移工具redis-dump安装和使用初探

原创 NoSQL 作者:chenfeng 时间:2018-09-28 10:50:52 0 删除 编辑

一.安装:

# git clone https://github.com/delano/redis-dump.git

Initialized empty Git repository in /root/shell/20180928/redis-dump/.git/

remote: Enumerating objects: 691, done.

remote: Total 691 (delta 0), reused 0 (delta 0), pack-reused 691

Receiving objects: 100% (691/691), 2.09 MiB | 53 KiB/s, done.

Resolving deltas: 100% (293/293), done.


#gem install redis

Fetching: redis-4.0.2.gem (100%)

Successfully installed redis-4.0.2

Parsing documentation for redis-4.0.2

Installing ri documentation for redis-4.0.2

Done installing documentation for redis after 3 seconds

1 gem installed


#gem install uri-redis

Fetching: uri-redis-0.4.2.gem (100%)

Successfully installed uri-redis-0.4.2

Parsing documentation for uri-redis-0.4.2

Installing ri documentation for uri-redis-0.4.2

Done installing documentation for uri-redis after 0 seconds

1 gem installed


#gem install yajl-ruby

Fetching: yajl-ruby-1.4.1.gem (100%)

Building native extensions.  This could take a while...

Successfully installed yajl-ruby-1.4.1

Parsing documentation for yajl-ruby-1.4.1

Installing ri documentation for yajl-ruby-1.4.1

Done installing documentation for yajl-ruby after 1 seconds

1 gem installed


#gem install drydock

Fetching: drydock-0.6.9.gem (100%)

Successfully installed drydock-0.6.9

Parsing documentation for drydock-0.6.9

Installing ri documentation for drydock-0.6.9

Done installing documentation for drydock after 1 seconds

1 gem installed


#ruby -rubygems bin/redis-dump

{"db":0,"key":"192.168.184.122:6379:CommandCount:1528291051","ttl":-1,"type":"zset","value":[["LLEN",1.0],["DEL",3.0],["BRPOP",7.0],["RPOP",234.0],["SELECT",236.0],["HGET",360.0],["LPUSH",437.0],["GET",460.0]],"size":68}

{"db":0,"key":"192.168.184.226:6379:KeyCount:1528190344","ttl":-1,"type":"zset","value":[["1",1.0],["None",2.0],["zhsq_kb_comment_data",9.0],["zhsq_ecom_comment_buffer",36.0],["zhsq_topic_filter_buffer",120.0],["zhsq_filter_buffer",132.0],["zhsq_topic_data",183.0],["zhsq_mon_buffer",191.0],["zhsq_data",214.0],["zhsq_jfilter_data",225.0]],"size":190}

{"db":0,"key":"192.168.184.122:6379:CommandCountByMinute","ttl":-1,"type":"hash","value":{"180605:9:23":"22393","180606:13:16":"945","180606:13:17":"3568","180606:13:20":"11768"},"size":64}

{"db":0,"key":"192.168.184.220:6379:CommandCountByMinute","ttl":-1,"type":"hash","value":{"180605:9:23":"22998","180606:13:16":"993","180606:13:17":"3818","180606:13:20":"12101"},"size":64}

{"db":0,"key":"192.168.184.213:6379:KeyCount:1528291078","ttl":-1,"type":"zset","value":[["*",1845.0]],"size":7}

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................

.........................................................................................................................................................................


{"db":1,"key":"hello","ttl":-1,"type":"string","value":"world","size":5}

{"db":5,"key":"dsf","ttl":-1,"type":"string","value":"chenfeng","size":8}

{"db":5,"key":"hello","ttl":-1,"type":"string","value":"world","size":5}

{"db":6,"key":"love","ttl":-1,"type":"string","value":"peihy","size":5}

{"db":6,"key":"dsf","ttl":-1,"type":"string","value":"chenfeng","size":8}

{"db":6,"key":"hello","ttl":-1,"type":"string","value":"world","size":5}

{"db":7,"key":"love","ttl":-1,"type":"string","value":"peihy","size":5}

{"db":7,"key":"chenfeng","ttl":-1,"type":"string","value":"dsf","size":3}


二.使用:

全库备份例子:

#cd redis-dump/bin

#./redis-dump -u 127.0.0.1  > /root/shell/20180928/db_all.json



只备份redis某个库的例子:

首先往10号库里写点数据:

#redis-cli

127.0.0.1:6379[1]> select 10

OK

127.0.0.1:6379[10]> set China World

OK

127.0.0.1:6379[10]> set love chenfeng

OK

127.0.0.1:6379[10]> set fuck America

OK


只备份10号库:

#./redis-dump -u 127.0.0.1 -d 10  > /root/shell/20180928/db_10.json

查看内容:

[root@alpha-mongo-140-52 ~/shell/20180928/redis-dump/bin]#cat /root/shell/20180928/db_10.json

{"db":10,"key":"fuck","ttl":-1,"type":"string","value":"America","size":7}

{"db":10,"key":"love","ttl":-1,"type":"string","value":"chenfeng","size":8}

{"db":10,"key":"China","ttl":-1,"type":"string","value":"World","size":5}


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2215122/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,MongoDB和Redis技术。 微信或QQ:410294

注册时间:2015-12-07

  • 博文量
    668
  • 访问量
    1438232