1、說明
redis集群上有時候會需要刪除多個key,就必須需要登錄到每個節點上,而且有可能這個key不在這個節點,這樣刪除起來就比較麻煩,下面提供一種便捷方式可以實現
2、查看redis集群中的master節點
首先你要確認有哪幾臺master節點,可以用下面命令查看:
#./redis-cli cluster nodes | grep master
|
PS:在這里我有3臺master主節點,端口都是6379
3、編寫redis_del.sh腳本
#!/bin/bash redis_comm=/usr/local/redis/bin/redis-cli redis_ser01=172.18.18.107 redis_ser02=172.18.18.108 redis_ser03=172.18.18.109 $redis_comm -c -h $redis_ser01 keys $1 | xargs -i ./redis-cli -h $redis_ser01 del {} $redis_comm -c -h $redis_ser02 keys $1 | xargs -i ./redis-cli -h $redis_ser02 del {} $redis_comm -c -h $redis_ser03 keys $1 | xargs -i ./redis-cli -h $redis_ser03 del {} |
參數說明:
-c:啟動集群模式進入redis集群服務
-h:redis主機地址
xargs -i: -i 選項告訴 xargs 可以使用{}代替傳遞過來的參數
4、使用redis_del.sh腳本
比如,我們現在有個需求,要刪除redis集群以UP開頭所有的key。
首先,我們先登錄redis集群,查看一下:

然后,使用redis_del.sh腳本刪除:
# ./redis_del.sh UP*
|
PS:如上圖所示,UP開頭的所有key都刪除了
腳本用法:sh redis_del.sh key參數
例如,你要刪除其它key值:
./redis_del.sh a* #刪除以a開頭的key值
./redis_del.sh b* #刪除以b開頭的key值
或者,刪除以什么結尾的keys值:
./redis_del.sh *ab #刪除以ab結尾的key值
./redis_del.sh *123 #刪除以123結尾的key值
......等等
好了,覺得有用的朋友可以轉發或者收藏,大家有問題可以在下面留言一起探討,有更好的建議也可以在評論區貼出來?。?!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。