批量刪除redis數據庫中的key
阿新 • • 發佈:2017-08-22
訪問 包含 -c 需要 linu flush 默認 方法 cal
在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