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了


免責聲明!

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



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