Redis中使用命令批量刪除key


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

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

可以借助於xargs命令實現批量刪除key,把查出來的key值當做參數傳給del

redis-cli keys "xxxx*" | xargs del

 

完整命令

redis-cli -h 192.169.1.71 -p 7001 -a 123456 keys xxxx* | xargs -r -t -n1 redis-cli -h 192.169.1.71 -p 7001 -a 123456 del

xargs命令后需加上參數-r,不然當keys的數量為0時,就會報錯 (error) ERR wrong number of arguments for ‘del’ command

xargs命令后需加上參數-n1,不然當集群情況keys的數量大於1時,可能會報錯 (error) CROSSSLOT Keys in request don’t hash to the same slot

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

 


免責聲明!

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



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