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


本文參考: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

 批量刪除Key

Redis 中有刪除單個 Key 的指令 DEL,但好像沒有批量刪除 Key 的指令,不過我們可以借助 Linux 的 xargs 指令來完成這個動作

1 redis-cli keys "*" | xargs redis-cli del  
2 //如果redis-cli沒有設置成系統變量,需要指定redis-cli的完整路徑  
3 //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del  

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

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

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

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

刪除所有Key
刪除所有Key,可以使用Redis的flushdb和flushall命令

1 //刪除當前數據庫中的所有Key  
2 flushdb  
3 //刪除所有數據庫中的key  
4 flushall  

 

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

1.

如果key包含空格像:
a log message       message1
vip user          peter
vip user            mark
vip user          mary
可以通過加引號來刪除
DEL "a log message"
DEL " vip user " 
不過不推薦在key中使用空格,最好使用冒號來分割字段

例如vip:user:mary
一些文檔使用下划線,按理駝峰應該也可以了

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

 


免責聲明!

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



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