共計 1208 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹 redis 批量刪除某種規則中和 key 的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一、前言
在工作中經常遇到需要批量刪除某種規則的 key 的情況,如緩存的課程數據“course- 課程 uid”,課程 uid 是變量,我們需要刪除類似于“course-*”這樣的數據。但是,redis 雖然有提供批量查詢這一類 key 的命令 keys,卻并沒有提供批量刪除某種類型 key 的命令。
二、解決方案
先看看我們怎么解決。
1、先進入 redis 的客戶端
cd redis 所在目錄 /src
./redis-cli
2、初始化數據,模擬數據
127.0.0.1:6379 set course-1 1
127.0.0.1:6379 set course-2 2
127.0.0.1:6379 set course-3 3
OK
3、通過 keys 命令可以看到,現在有上面的三個 key
127.0.0.1:6379 keys course-*
1) course-3
2) course-2
3) course-1
4、退出 redis 的客戶端
127.0.0.1:6379 exit
5.1、本地批量刪除 key
./redis-cli keys course-*
| xargs ./redis-cli del
此處剛剛 course-* 相關的 3 個 key 已經被刪除了
原理解析:
先通過 redis 客戶端執行了 keys 命令,模糊搜索出所有的 key,通過 xargs 命令,將前面查詢出來的 key 作為后面 redis 的 del 命令的輸入
最終執行的結果可以理解成
(學習視頻分享:redis 視頻教程)
1、模糊查詢
keys course-*
查詢出上面的 course-1 course-2 course-3 這三個 key
2、執行刪除 key
del 的三個 key 來自前面的 keys 查詢
del course-1 course-2 course-3
5.2、遠程批量刪除 key
經常我們開發的時候,redis 都是公用的,可能 redis 不在本地我們可以通過 redis 客戶端遠程進行刪除
./redis-cli -h redis 所在服務器 ip -p 端口 keys course-*
|xargs ./redis-cli -h redis 所在服務器 ip -p 端口 del
三、補充知識
1、遠程某臺機子的 redis
以下實例演示了如何連接到主機為 127.0.0.1,端口為 6379,密碼為 mypass 的 redis 服務上。
redis-cli -h 127.0.0.1 -p 6379 -a mypass
2、xargs 命令
xargs 命令是給其他命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。
以上是“redis 批量刪除某種規則中和 key 的方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!
向 AI 問一下細節