redis常用工具介绍

本文列举了工作中常用的一些比较实用的redis工具,包括redis迁移工具redis-port、redis-migrate-tool,内存分析工具redis-rdb-tools,查询分析工具redis-faina。


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语言开发的。


你可能感兴趣的:(Redis)