Redis中的批量刪除數據庫中的Key

批量刪除Keyhtml

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

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

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

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

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

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

刪除全部Key
刪除全部Key,可使用Redis的flushdb和flushall命令atom

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

 

其它形式的經過redis的key刪除:spa

1..net

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

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

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

本文參考:ip

https://www.cnblogs.com/DreamDrive/p/5772198.html http://blog.csdn.net/spring21st/article/details/15771861 http://stackoverflow.com/questions/5756067/how-to-empty-a-redis-database http://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis

相關文章
相關標籤/搜索