查詢一個redis集群的大keys 腳本


1. 把redis集群中的 master 節點信息記錄在文件 redis_object_port.info 中, 方便下一步遍歷各實例中的大 keys

redis-cli -h 10.240.47.147 -p 7000 cluster nodes | grep master | awk '{print $2}' | awk -F ':' '{print " -h " $1 " -p " $2}'  > redis_object_port.info

 

2. 遍歷各個實例中的大keys ( 參數 -i  0.1, 表示每隔100條scan指令就休眠0.1s, 這樣redis的ops就不會劇烈抬高,但是掃描時間會變長)

more redis_object_port.info | while read object; do redis-cli $object --bigkeys -i 0.1  ; done > redis_object_bigkey.result

 

 

 

++++++++++++++++++++++++++++++++腳本參數化 ++++++++++++++++++++++++++++++++++++++++++++

#!/bin/sh

# 腳本說明:

# 通過輸入2個參數: redis集群中任意一個實例的 IP地址 和 端口 ,自動查詢出該redis集群中的大key

IP=$1
PORT=$2
echo "" > redis_object_port.info
redis-cli -h $IP -p $PORT cluster nodes | grep master | awk '{print $2}' | awk -F ':' '{print " -h " $1 " -p " $2}' > redis_object_port.info

echo "" > redis_object_bigkey.result
more redis_object_port.info | while read object
do
redis-cli $object --bigkeys -i 0.1
done >> redis_object_bigkey.result

++++++++++++++++++++++++++++++++腳本結束 ++++++++++++++++++++++++++++++++++++++++++++


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM