通過redis cli批量刪除多個指定模式的key

2021-09-10 14:54:49 字數 1306 閱讀 1054

redis 中有刪除單個 key 的指令 del,但好像沒有批量刪除 key 的指令,不過我們可以借助 linux 的 xargs 指令來完成這個動作。

xargs介紹:

翻譯:從標準輸入執行命令

記憶:x 是執行的意思;args是引數列表的意思。===>就是把引數傳到後面,用這些引數去執行後面的語句。

redis-cli keys "*" | xargs redis-cli del  

//如果redis-cli沒有設定成系統變數,需要指定redis-cli的完整路徑或者cd到redis-cli的路徑

//如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

//keys指令就是redis中的指令,後面的字元是模式匹配的字元,"*"代表所有的,del也是redis中的命令

如果要指定 redis 資料庫訪問密碼,使用下面的命令:

redis-cli -a youspwd keys "*" | xargs redis-cli -a youspwd del

//把youspwd替換成redis資料庫的密碼就行

如果要訪問 redis 中特定的資料庫,使用下面的命令

//下面的命令指定資料序號為0,即預設資料庫  

redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del

刪除所有key

刪除所有key,可以使用redis的flushdb和flushall命令

//刪除當前資料庫中的所有key  

flushdb

//刪除所有資料庫中的key

flushall

其它形式的通過redis的key刪除:

如果key包含空格,可以通過加引號來刪除

del 「a log message」

del " vip user "

不過不推薦在key中使用空格,最好使用冒號來分割字段

例如vip:user:mary

一些文件使用下劃線,按理駝峰應該也可以了

另外 redis 的 del是可以批量刪除的,使用空格隔開

del key1 key2

會返回成功刪除的個數

(integer) 2

對於有空格的key需要用引號包含起來

del 」vip user mark" 「vip user mary」

(integer) 2

redis cli 模糊刪除 key

根據某些業務需求,需要手動模糊刪除redis裡面的key 執行命令 redis cli h 127.0.0.1 p 12315 keys 刪除條件 xargs redis cli h 127.0.0.1 p 12315 del 我redis 使用的埠為12315,所以執行命令是需要指定埠,不指定埠的...

Django 刪除 批量刪除

刪除 修改與刪除等的操作,都從前台傳來乙個id獲取後執行 class delete two cate view def get self,request id request.get.get id try two twocate.objects.filter id id delete except ...

hibernate批量修改,批量刪除

在hibernate應用中如何處理批量更新和批量刪除?批量更新是指在乙個事務中更新大批量資料,批量刪除是指在乙個事務中刪除大批量資料。以下程式直接通過hibernate api批量更新customers表中年齡大於零的所有記錄的age欄位 tx session.begintransaction it...