redis中一些常用工具介绍

2020-03-15     IT生涯

redis-port

github链接

https://github.com/CodisLabs/redis-port

介绍

1、redis集群的扩容与收缩

2、数据异构同步,从redis到mysql等等

3、redis原有集群的拆分,按业务线打散成多个集群

4、redis当前内存使用,key占比分析

5、无用数据的检测和清除

6、对于rdb文件的备份

原理

简单来说,就是把自已伪装成slave, 欺骗master来达到数据流同步的目地。

发送sync命令->接收rdb->解析rdb->过滤->回放rdb->回放master推送的同步数据

注:这个工具我们主要用于将非redis集群向redis cluster迁移,优点是支持指定前缀keys的迁移,缺点是不支持实时向redis cluster迁移。

redis-migrate-tool

github链接

https://github.com/vipshop/redis-migrate-tool

特点:

1、快速。

2、多线程。

3、基于redis复制。

4、实时迁移。

5、迁移过程中,源集群不影响对外提供服务。

6、异构迁移。

7、支持Twemproxy集群,redis cluster集群,rdb文件和aof文件。

8、过滤功能。

9、当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis。

10、迁移状态显示。

11、完善的数据抽样校验。

迁移工具的来源可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件,aof文件。

迁移工具的目标可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件。

注:这个工具我们主要用于将非redis集群向redis cluster迁移,优点是支持实时迁移(程序可以采取双写策略弥补),缺点是不支持指定前缀的keys迁移。

redis-rdb-tools

github链接

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

介绍

解析redis的dump.rdb文件,分析内存,以JSON格式导出数据。

提供的功能有:

1、生成内存报告

2、转储文件到JSON

3、使用标准的diff工具比较两个dump文件

redis-rdb-tools是以python语言开发的。

注:这个工具我们主要用于分析redis内存使用情况,key样品分布

redis-faina

github链接

https://github.com/facebookarchive/redis-faina

介绍

redis-faina是由Instagram开发并开源的一个redis查询分析小工具,它是通过redis的monitor命令来实现的,通过对在redis上执行的query进行监控,统计出一段时间的query特性。由于redis的monitor对性能有所影响,所以建议在使用时不要一直开启monitor来分析。可以采用定时抽样一段时间来做样本分析。

redis-faina是以Python语言开发的。

文章来源: https://twgreatdaily.com/zh-hans/2St05nABBdL90C-El8hn.html