本文列舉了工作中常用的一些比較實用的redis工具,包括redis遷移工具redis-port、redis-migrate-tool,內存分析工具redis-rdb-tools,查詢分析工具redis-faina。
推薦:redis教程
redis-port
github鏈接
https://github.com/CodisLabs/redis-port
介紹
redis集群的擴容與收縮
數據異構同步,從redis到mysql等等
redis原有集群的拆分,按業務線打散成多個集群
redis當前內存使用,key占比分析
無用數據的檢測和清除
對于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
特點:
快速。
多線程。
基于redis復制。
實時遷移。
遷移過程中,源集群不影響對外提供服務。
異構遷移。
支持Twemproxy集群,redis cluster集群,rdb文件和aof文件。
過濾功能。
當目標集群是Twemproxy,數據會跳過Twemproxy直接導入到后端的redis。
遷移狀態顯示。
完善的數據抽樣校驗。
遷移工具的來源可以是:單獨的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格式導出數據。
提供的功能有:
生成內存報告
轉儲文件到JSON
使用標準的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語言開發的。
相關推薦:mysql視頻教程:https://www.php.cn/course/list/51.html