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會輸出每次刪除的內(nèi)容,不加則不輸出刪除的內(nèi)容,但還是會輸出每次刪除的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、刪除包含有某些關(guān)鍵字的key
redis-cli keys “xxx*” | xargs redis-cli del
4、如果需要指定密碼,可以這樣使用:
redis-cli -a pwd keys “*” | xargs redis-cli -a pwd del
到此這篇關(guān)于Redis批量刪除key的命令的文章就介紹到這了,更多相關(guān)Redis批量刪除key內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis 通過 RDB 方式進行數(shù)據(jù)備份與還原的方法
這篇文章主要介紹了Redis 通過 RDB 方式進行數(shù)據(jù)備份與還原,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Redis KEYS查詢大批量數(shù)據(jù)替代方案
在使用 Redis 時,KEYS 命令雖然簡單直接,但其全表掃描的特性在處理大規(guī)模數(shù)據(jù)時會導(dǎo)致性能問題,甚至可能阻塞 Redis 服務(wù),本文將介紹SCAN命令、有序集合、哈希表和RediSearch模塊四種替代 KEYS 的高效方案,需要的朋友可以參考下2024-12-12Redis遍歷海量數(shù)據(jù)的實現(xiàn)示例
本文主要介紹了 Redis遍歷海量數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04