驗證:
插入資料
10.20.26.92:7000>
set test/s1 1
10.20.26.92:7000>
set test/s2 2
刪除資料redis-cli -h 127.0.0.1 -p 6379 -a 123456 keys "test/s*"
|xargs redis-cli -h 127.0.0.1 -p 6379 del
上刪除命令相當於:redis-cli -h 127.0.0.1 -p 6379 -a 123456 del test/s1 test/s2
命令解釋
redis支援批量查詢key的keys命令,卻沒有批量刪除key的dels命令
但是del命令支援同時刪除多個key,即使用del key1 key2 key3命令
所以先用 redis-cli -h 127.0.0.1 -p 6379 keys "key:*"命令查詢到所有keys①
然後再用 xargs命令執行redis-cli -h 127.0.0.1 -p 6379 del keys① 命令進行刪除。
xargs命令會把管道符(|)左邊命令的執行結果拼接到右邊命令的最後再執行
關於xargs 命令的用法,請參考
驗證:插入資料
10.20.26.92:7000>
set test/s1 1
10.20.26.92:7000>
set test/s2 2
刪除集群資料:redis-cli -c -h 127.0.0.1 -p 6379 keys "test/s*"
|awk -f' '
''
命令解釋
因為集群模式下key的分布不在乙個槽內,所以使用del key1 key2 key3命令會報錯:
(error) crossslot keys in request don』t hash to the same slot
同理使用redis-cli -h 127.0.0.1 -p 6379 keys "key:*"命令查詢到所有keys①
再使用awk -fs命令對左邊查詢結果keys①用空格分割後依次呼叫redis-cli -c -h 127.0.0.1 -p 6379 del key命令進行刪除
awk的用法參考
redis集群批量刪除指定的key
工作中遇到乙個問題,redis中儲存了大量的key,而且沒有設定時效,其中很大一部分後來都沒用了,導致redis體積龐大,查詢緩慢。伺服器版本為windows,網上搜尋到很多批量刪除的方法都是linux下的,幾番尋找,終於找到了在windows下批量刪除超大量key的方法。首先貼一下linux下的方...
redis批量刪除
redis中沒有批量刪除資料的指令,但可以借助linux的指令xargs來批量刪除 如果redis cli沒有設定成系統變數,需要指定redis cli的完整路徑,如 如果要指定 redis 資料庫訪問密碼,使用下面的命令 如果要訪問 redis 中特定的資料庫,使用下面的命令 刪除所有key,可以...
redis集群 刪除節點
想要刪除集群節點中的某乙個節點,需要嚴格執行2步 1 將這個節點上的所有插槽轉移到其他節點上 2 使用 redis trib.rb 刪除節點 下面 假設我們要刪除 6382 這個節點為例 a 在 my soft redis安裝包及jar包 redis 3.0.4 src 目錄下執行指令碼 redis...