批量刪除redis資料庫中的key

2022-08-17 10:36:12 字數 1211 閱讀 7356

在redis資料庫中,如果大量以某些字段開頭或結尾的key,一般都會用到命令keys進行模糊匹配。但是當我們想刪除批量指定的keys,卻犯愁了,因為redis沒有提供相關的命令。那我們怎麼操作能實現預期的效果呢?

(1) 刪除單個key

127.0.0.1:6379> del key

如果知道有限多個key的名字,以下操作也可以實現批量操作

127.0.0.1:6379> del key1 key2 key3 ....

當key的數量達到一定數量時,這個方法明顯時不現實的。

注意:redis命令列預設使用空格來分割key值,如果剛好某個key的明早帶有空格,則對於有空格的key需要用引號包含起來:

127.0.0.1:6379>del 」first key"

"second key"

(2) 批量刪除key

批量刪除key,我們可以借助linux 的 xargs 指令來完成這個動作

127.0.0.1:6379>redis-cli keys "a

*" | xargs redis-cli del

說明:如果redis-cli沒有設定成系統變數,需要指定redis-cli的完整路徑

比如:/usr/local/redis/redis-cli keys "a

*" | xargs /usr/local/redis/redis-cli del

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

127.0.0.1:6379>redis-cli -a password keys "a

*" | xargs redis-cli -a password del

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

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

127.0.0.1:6379>redis-cli -n 0 keys "a

*" | xargs redis-cli -n 0 del

(3) 刪除所有key

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

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

flushdb

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

flushall

批量刪除Redis資料庫中的Key

批量刪除key redis 中有刪除單個 key 的指令 del,但好像沒有批量刪除 key 的指令,不過我們可以借助 linux 的 xargs 指令來完成這個動作 1 2 3 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定...

批量刪除Redis資料庫中的Key

linux 的 xargs 指令 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定redis cli的完整路徑 如 opt redis redis cli keys xargs opt redis redis cli del 如...

批量刪除Redis資料庫中的Key

linux 的 xargs 指令 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定redis cli的完整路徑 如 opt redis redis cli keys xargs opt redis redis cli del 如...