Redis集羣批量刪除key

redis集羣上刪除多個key須要登陸到每一個節點上,並且有可能這個key不在這個節點,這樣刪除起來就比較麻煩redis

這裏提供一個批量刪除redis集羣的key的腳本
===========
key.txt -待刪除的key
能夠直接查詢reids的key並導出key.txtunix

redis-cli  -c -h  192.168.0.170 -p 7001  -a password KEYS JXL_REPORT_* > key.txt日誌

-c 表示集羣登陸
-h 登陸主機
-p 登陸端口
-a 登陸密碼,若是沒有,能夠不加
keys  JXL_REPORT_*   --查詢以JXL_REPORT_開始的key
>> key.txt  --查詢結果重定向到key.txtip

redis_delete_key.sh 
redis_list 填入集羣節點
[root@redis_cluster01 scripts]# cat redis_delete_key.sh 
redis_list=("192.168.0.168:7001" "192.168.0.168:7002" "192.168.0.169:7001" "192.168.0.169:7002" "192.168.0.170:7001" "192.168.0.170:7002")
for info in ${redis_list[@]}
do  
    echo "開始執行:$info"  
    ip=`echo $info | cut -d \: -f 1`
    port=`echo $info | cut -d \: -f 2`
    pw='password'
    cat key.txt |xargs -t -n1 redis-cli -h $ip -p $port -a $pw -c del  
done 
echo "完成"集羣

**************注意登錄

若是出現這種日誌格式
edis-cli -h 192.168.0.170 -p 6380 -a password -c  del key3
(integer) 0
須要修改文本爲unix格式 而後再執行cli

相關文章
相關標籤/搜索