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語言開發的。