Redis批量刪除key的命令

redis中沒有直接根據正則表達式刪除key的命令,只有del key1 key2...命令正則表達式

可是redis中有經過正則表達式獲取key的命令:keys "正則表達式"redis

能夠藉助於xargs命令實現批量刪除key,把查出來的key值當作參數傳給delspa

redis-cli keys "mailspec*" | xargs del.net

 

完整命令:code

[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 ‘del’ command
  • 補充2:xargs命令後需加上參數-n1,否則當集羣狀況keys的數量大於1時,可能會報錯 (error) CROSSSLOT Keys in request don’t hash to the same slot
  • 補充3:不加-t也能夠,加上-t會輸出每次刪除的內容,不加則不輸出刪除的內容,但仍是會輸出每次刪除的key的數量

 

 

 

參考地址 https://blog.csdn.net/zxl2016/article/details/90900319

blog

相關文章
相關標籤/搜索