AutoLoadCache 3.0 全新設計批量刪除緩存方案

jopen 8年前發布 | 6K 次閱讀

AutoLoadCache 3.0 發布了,此版本做了大調整,有些功能已經不兼容老版本

不再使用默認緩存Key,所有的緩存都必須自定義緩存Key;原來使用$hash()來調用hash函數,改為使用#hash()進行調用。

之前版本中使用通配符(?和*)進行批量刪除緩存,這種方法性能比較差,需要多次與Redis進行交互,而且隨著緩存Key的數量的增加,性能也會 下降,如果有多個Reids實例的話,還需要遍歷每個實例。為了解決這個問題,我們使用hash表保存需要批量刪除的緩存,要批量刪除緩存時,只要把 hash表刪除就可以了。

如果在開發階段不想使用Redis來緩存數據,可以使用com.jarvis.cache.map.CachePointCut,把數據緩存到本地內存中,雖然它不支持使用通配符進行批量刪除緩存,但同樣支持使用hash表進行批量刪除緩存。所以轉用Redis緩存數據是沒有任務問題的。

如果需要在MyBatis Mapper中使用@Cache和@CacheDelete,則需要使用com.jarvis.cache.mybatis.CachePointCutProxy 來處理。


來自: http://www.oschina.net//news/70780/autoloadcache-3-0

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!