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-mo/2St05nABBdL90C-El8hn.html