在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命令
//刪除當前資料庫中的所有keyflushdb
//刪除所有資料庫中的key
flushall
批量刪除Redis資料庫中的Key
批量刪除key redis 中有刪除單個 key 的指令 del,但好像沒有批量刪除 key 的指令,不過我們可以借助 linux 的 xargs 指令來完成這個動作 1 2 3 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定...
批量刪除Redis資料庫中的Key
linux 的 xargs 指令 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定redis cli的完整路徑 如 opt redis redis cli keys xargs opt redis redis cli del 如...
批量刪除Redis資料庫中的Key
linux 的 xargs 指令 redis cli keys xargs redis cli del 如果redis cli沒有設定成系統變數,需要指定redis cli的完整路徑 如 opt redis redis cli keys xargs opt redis redis cli del 如...