首頁  >  文章  >  資料庫  >  Redis批次刪除key的指令怎麼使用

Redis批次刪除key的指令怎麼使用

WBOY
WBOY轉載
2023-05-26 17:09:382078瀏覽

redis中沒有直接根據正規表示式刪除key的指令,只有del key1 key2...指令

但是redis中有透過正規表示式取得key的指令:keys "正規表示式"

可以藉助xargs指令實作批次刪除key,把查出來的key值當做參數傳給del

redis-cli keys "mailspec*" | xargs del

#完整指令:

[root@localhost redis7001]# redis-cli -h 192.169.1.71 -p 7001 -a 123456 keys em* | xargs -r -t -n1 ./redis-cli -h 192.169.1.71 -p 7001 -a 123456 del
  • 補充1:xargs指令後需加上參數-r,不然當keys的數量為0時,就會報錯(error) ERR wrong number of arguments for &lsquo ;del’ command

  • 補充2:xargs指令後需加上參數-n1,不然當叢集情況keys的數量大於1時,可能會報錯(error) CROSSSLOT Keys in request don’t hash to the same slot

  • 補充3:不加-t也可以,加上-t會輸出每次刪除的內容,不加則不輸出刪除的內容,但還是會輸出每次刪除的key的數量

#擴充:redis中批次刪除key

1、刪除所有的key,可以使用redis本身的指令:

flushdb 刪除目前資料庫中的所有Key

flushall 刪除所有資料庫中的key

2、使用linux中的xargs來刪除所有的key

redis-cli keys “*” | xargs redis-cli del

3、刪除包含某些關鍵字的key

redis-cli keys “xxx*” | xargs redis- cli del

4、如果需要指定密碼,可以這樣使用:

redis-cli -a pwd keys “*” | xargs redis-cli -a pwd del

以上是Redis批次刪除key的指令怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除