1、說明
redis cluster集群上有時候會需要刪除多個key,就必須需要登錄到每個節點上,而且有可能這個key不在這個節點,刪除起來就比較麻煩,測試的時候極不方便。於是就自己動手寫了一個支持模糊刪除key的腳本,分享給大家。
2、新建del_redis.sh,內容如下
#!/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:參數說明
-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、執行腳本
sh del_redis.sh test:*
這樣就刪除了所有以test開頭的key了