Redis 根據Key模糊批量查詢數據


前言

經常會有這樣一種業務邏輯,就是需要根據Redis中Key的規則,模糊查詢對應的數據,當數據量少時,利用常規的命令也能滿足需求,但是數據量大時,就會導致堵塞,就算是采用不堵塞的函數,如果數據需要顯示的話,顯示結果的時間也比較慢,用戶體驗不好。

Lua腳本

Redis 自2.6.0版本之后,就內置了Lua腳本,可以執行相關Lua腳本,提高操作效率;具體Lua腳本大家百度自行學習,不難;

應用:

這里記錄的是在C#中的簡單使用,其他語言也類似;

引用的包StackExchange.Redis,  我這里用的是2.0.601的版本;

代碼實例:

 

 如上圖,這個方法是根據一個模糊Key值進行查詢,中間字符串拼接的字符串就是lua腳本,使用redis.call()方法來執行Redis對應的指令;

然后將結果解析返回到前台;其他變量都是一些封裝,其中db這個類型是IDatabase類型,相信用redis的小伙伴看見這個類型就明白了。

總結:

親測這樣的速度比直接執行循環get, 或執行mget指令效率好很多, 以上只是記錄一個思路,lua腳本可以做很多事,不僅僅是查詢,增刪改查都可以,特別對批量操作,效率很不錯。

關注公眾號,每周更新至少兩篇關於.NetCore相關文章

 

 


免責聲明!

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



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