SpringBoot 緩存注解 與EhCache的使用


在SpringBoot工程中配置EhCache緩存

 

1.在src/main/resources下新建ehcache.xml文件

eternal=true //緩存永久有效,false相反

maxElementsInMemory //cache 中最多可以存放的元素的數量。如果放入cache中的元素超過這個數值,有兩種情況:1、若overflowToDisk的屬性值為true,會將cache中多出的元素放入磁盤文件中。2、若overflowToDisk的屬性值為false,會根據memoryStoreEvictionPolicy的策略替換cache中原有的元素

timeToLiveSeconds//為在eternal為false時,緩存失效的時間

timeToIdleSeconds //若5分鍾內,該緩存未被調用,則也會失效

舉例說明:timeToLiveSeconds =3600 timeToIdleSeconds =300

以上配置代表緩存有效時間為3600秒(自緩存建立起一個小時有效 ),在有效的一個小時內,如果連續五分鍾未訪問緩存,則緩存失效,特別說明的是,就算緩存訪問從未間斷,到一個小時后,緩存也會失效

配置參考 https://blog.csdn.net/mlitsn/article/details/1909192

2.加入配置后,在DAO中使用注解

 

 

3.當調用該方法時,首次調用數據庫后,再次調用該方法時將不在查詢數據庫,可以在application.properties配置文件中加入打印Hibernate sql的配置

spring.jpa.show-sql=true

會發現,只查詢了一次,說明配置生效了


4.在新增和更新及刪除時數據變了,不能還拿緩存的老數據吧 ,緩存怎么去更新呢?

需要CacheManager去管理緩存,在新增和更新及刪除時,需要使用CacheManager去刷新緩存

CacheManager manager = CacheManager.getInstance();

manager.getCache("findByMethodName").flush();//findByMethodName為在ehcache中配置的緩存名

 

擴展內容待補充 。。。

 


免責聲明!

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



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