批量刪除redis數據庫中的key


在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 

 


免責聲明!

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



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