redis cluster叢集批量刪除中的key
阿新 • • 發佈:2022-03-10
1、說明
redis cluster叢集上有時候會需要刪除多個key,就必須需要登入到每個節點上,而且有可能這個key不在這個節點,刪除起來就比較麻煩,測試的時候極不方便。於是就自己動手寫了一個支援模糊刪除key的指令碼,分享給大家。
2、新建del_redis.sh,內容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/bin/bash
# 配置redis-cli地址
redis_cmd=redis-cli
# 配置reids叢集IP地址
host=192.168.1.2
# 配置reids叢集節點埠
ports=(6380 6381 6382 6383 6384 6385) # 配置reids密碼
password= "test"
for port in ${ports[@]}
do
$redis_cmd -c -h $host -p $port -a $password 2> /dev/null keys $1 | xargs -i $redis_cmd -h $host -p $port -a $password 2> /dev/null del {}
done ;
echo "success"
|
ps:引數說明
1 2 3 4 5 6 |
-c # 啟動叢集模式進入redis叢集服務
-h # redis主機地址 -p # redis節點的埠
-a # redis的密碼
2> /dev/null # 過濾使用密碼連線redis時報的警告:Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
xargs -i # -i 選項告訴 xargs 可以使用{}代替傳遞過來的引數
|
3、執行指令碼
1 |
sh del_redis.sh test :*
|
這樣就刪除了所有以test開頭的key了