Redis工具redis-rdb-tools和redisimp

1、redis-rdb-tools:

https://github.com/sripathikrishnan/redis-rdb-tools

Rdbtools是Redis的dump.rdb文件的解析器,主要功能有三个:

1)生成所有数据库和键中数据的内存报告;

2)将dump文件转换为JSON;

3)使用标准差异工具比较两个dump文件。

使用示例:(有效的命令有: json, diff, justkeys, justkeyvals and protocol.)

1)将rdb数据转为json:

    rdb --command json dump.rdb

2)只解析和正则表达式匹配的key,并且只打印key和value:

    rdb --command  justkeyvals --key "user.*"  dump.rdb

3)只处理以“a”开头的hash数据:

    rdb -c json --type hash --key "a.*"  dump.rdb

4)生成内存报告:

使用 -c memory 可以生成一个csv报告,描述了key的大致内存使用情况。 –byte C 和 –largest N 可以用于输出超过C字节的key,或前N个最大的key:

    rdb -c memory  dump.rdb --bytes 128 -f memory.csv

5)找出单个Key的内存使用情况:

    redis-memory-for-key -s  192.168.0.142 -p 6381 short_url

6)对比rdb文件:

    rdb --command diff  zxw.rdb |sort > dump1.txt
    rdb --command diff  zxw.rdb |sort > dump2.txt

2、redisimp:

https://github.com/happybits/redisimp

RedisImp用来快速安全地从其他Redis主机导入数据,导入到运行中的Redis或cluster实例中

远程备份rdb文件命令:

    /usr/local/redis4/bin/redis-cli -h 192.168.0.142 -p 6381 --rdb ./zxw.rdb

redisimp使用示例:

1)该脚本将从源127.0.0.1:6379获取所有key,并将其复制到目标127.0.0.1:6380:

    redisimp -s 127.0.0.1:6379 -d 127.0.0.1:6380

2)还可以将现有的dump.rdb复制到目标127.0.0.1:6380:

    redisimp -s ./dump.rdb -d 127.0.0.1:6380

3)只将符合条件的键值对复制到目标主机(从6382实例中只将前缀为short_url_的key复制到6381实例中):

    redisimp -s 192.168.0.142:6382 -d 192.168.0.142:6381 --pattern '/^short_url_/'
    -b 不覆盖之前存在的key
    redisimp -s 192.168.0.142:6382 -d 192.168.0.142:6381 --pattern '/^short_url_/'-b

猜你喜欢

转载自www.cnblogs.com/any-way/p/12358190.html