Redis批量刪除key的命令詳解
redis中沒有直接根據(jù)正則表達式刪除key的命令,只有del key1 key2...命令
但是redis中有通過正則表達式獲取key的命令:keys "正則表達式"
可以借助于xargs命令實現(xiàn)批量刪除key,把查出來的key值當做參數(shù)傳給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命令后需加上參數(shù)-r,不然當keys的數(shù)量為0時,就會報錯 (error) ERR wrong number of arguments for ‘del’ command
- 補充2:xargs命令后需加上參數(shù)-n1,不然當集群情況keys的數(shù)量大于1時,可能會報錯 (error) CROSSSLOT Keys in request don’t hash to the same slot
- 補充3:不加-t也可以,加上-t會輸出每次刪除的內容,不加則不輸出刪除的內容,但還是會輸出每次刪除的key的數(shù)量
擴展:redis中批量刪除key
1、刪除所有的key,可以使用redis自身的命令:
flushdb 刪除當前數(shù)據(jù)庫中的所有Key
flushall 刪除所有數(shù)據(jù)庫中的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的命令的文章就介紹到這了,更多相關Redis批量刪除key內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Redis鏈表底層實現(xiàn)及生產(chǎn)實戰(zhàn)
Redis 的 List 是一個雙向鏈表,鏈表中的每個節(jié)點都包含了一個字符串。是redis中最常用的數(shù)據(jù)結構之一,本文主要介紹了Redis鏈表底層實現(xiàn)及生產(chǎn)實戰(zhàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03