Redis批量刪除需要借助linux的xargs命令:
redis-cli -h 127.0.0.1 -p 6379 keys test* | xargs -r -t -n1 ./redis-cli -h 127.0.0.1 -p 6379 del #首先查出所有test開頭的key,然后批量刪除
如果加了安全驗證需要添加參數:
redis-cli -h 127.0.0.1 -p 6379 -a xxx keys test* | xargs -r -t -n1 ./redis-cli -h 127.0.0.1 -p 6379 -a xxx del #首先查出所有test開頭的key,然后批量刪除
補充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的數量