1. 程式人生 > 其它 >redis cluster叢集批量刪除中的key

redis cluster叢集批量刪除中的key

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了