批量刪除Redis數據庫中的Key

批量刪除Key
Redis 中有刪除單個 Key 的指令 DEL,但好像沒有批量刪除 Key 的指令,不過咱們能夠藉助 Linux 的 xargs 指令來完成這個動做html

redis-cli keys "*" | xargs redis-cli del  
//若是redis-cli沒有設置成系統變量,須要指定redis-cli的完整路徑  
//如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del  

若是要指定 Redis 數據庫訪問端口,使用下面的命令redis

redis-cli -p 6380 keys "*" | xargs redis-cli -p 6380 del  
//端口號換成本身的

若是要指定 Redis 數據庫訪問密碼,使用下面的命令數據庫

redis-cli -a password keys "*" | xargs redis-cli -a password del
//密碼換成本身的

若是要訪問 Redis 中特定的數據庫,使用下面的命令spa

//下面的命令指定數據序號爲0,即默認數據庫  
redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del   

上面命令能夠一塊兒使用,如code

//刪除機器上reids端口6380以"PRO_"開頭的全部key,redis密碼爲password
redis-cli -p 6380 -a password keys "PRO_*" | xargs redis-cli -p 6380 -a password del 

刪除全部Key
刪除全部Key,能夠使用Redis的flushdb和flushall命令htm

//刪除當前數據庫中的全部Key  
flushdb  
//刪除全部數據庫中的key  
flushall  

 

其餘blog

1.若是key包含空格像:
a log message       message1
vip user          peter
vip user            mark
vip user          mary
能夠經過加引號來刪除
DEL "a log message"
DEL " vip user " 
不過不推薦在key中使用空格,最好使用冒號來分割字段ip

例如vip:user:mary
一些文檔使用下劃線,按理駝峯應該也能夠了

2.
另外 redis 的 DEL是能夠批量刪除的,使用空格隔開
DEL key1 key2
會返回成功刪除的個數
(integer) 2
對於有空格的key須要用引號包含起來
DEL 」vip user mark" "vip user mary"
(integer) 2文檔

 

本文參考:https://www.cnblogs.com/DreamDrive/p/5772198.htmlclass

相關文章
相關標籤/搜索