原創不易,請多多支持!對Java技術感興趣的童鞋請關注我,後續技術分享更精彩。
概述
Jetcache是阿里開源的一個緩存抽象工具集。它提供了TTL,二級緩存,分佈式緩存更新等強大的註解功能,也支持代碼邏輯手動調用api。比spring原生cache註解功能更豐富,更簡單易用。當前有四個實現,RedisCache、TairCache(此部分未在github開源)、CaffeineCache(in memory)和一個簡易的LinkedHashMapCache(in memory),要添加新的實現也是非常簡單的。
本文介紹Jetcache在spring boot項目中的集成,看看通過註解方式,如何在項目中優雅高效的使用緩存。
集成
官網地址:https://github.com/alibaba/jetcache
依賴
添加項目依賴。
添加jetcache配置
項目application.yml文件添加如下配置。
打開jetcache註解開關
註解示例
註解官方詳細說明參考:
https://github.com/alibaba/jetcache/wiki/MethodCache_CN
緩存類型:
緩存新增、更新、刪除:
方法多入參作為key:
動態刷新:
@CachePenetrationProtect註解:
當緩存訪問未命中的情況下,對併發進行的加載行為進行保護。 當前版本實現的是單JVM內的保護,即同一個JVM中同一個key只有一個線程去加載,其它線程等待結果。
Api示例
註解方式不能滿足應用場景時,可以手動使用api。
總結
通過上文的介紹,jetcache註解方式幾乎覆蓋大部分業務場景,可以做到開箱即用的效果,大大降低了緩存使用的難度。
簡單回顧下jetcache使用介紹內容:
- 支持本地緩存和遠程緩存,以滿足各類緩存實時性和性能場景要求。
- 支持註解緩存方式和手動api調用方式。註解方式為主,手動api調用為輔,以滿足各種複雜使用要求。
- 註解方式,支持緩存創建,緩存刷新,緩存失效等註解。緩存的key支持spel表達式動態注入,方便各類key的靈活定義。
閱讀更多 清風明月eagle 的文章