解決@Cacheable在同一個類中方法調(diào)用不起作用的問題
@Cacheable在同一類中方法調(diào)用無效
上述圖片中,同一個類中g(shù)enLiveBullets()方法調(diào)用同類中的queryLiveByRoom()方法,這樣即便標識了Cacheable標簽,再次調(diào)用時也沒有走緩存。
cacheable不支持內(nèi)部方法調(diào)用的方式,需要修改為把請求緩存的改成service方式,Aservice中的genLiveBullets()調(diào)用Bservice中的queryLiveByRoom()
見下圖,已測試再次調(diào)用時為走的緩存。
@Cacheable的使用總結(jié)
@Cacheable(value = "PERSON",key = "#tagId+'_'+#zz") public List<Person> getPersonByTagid(Long tagId,String zz)
- 其中value表示該方法返回的參數(shù)的緩存存在那個Cache里(即為緩存塊的名字)
- 緩存結(jié)果以一個鍵值對存放在緩存中,注解中key即為鍵值對的key;value即為方法返回的結(jié)果
- key用雙引號,里面#加上方法的參數(shù):獲取方法的參數(shù), ''表示在參數(shù)之間添加分隔符
常規(guī)使用方法
- 在springboot的啟動類上使用@EnableCaching//開啟緩存
- 在方法上直接使用@Cacheable()使用緩存
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡單了解Spring中BeanFactory與FactoryBean的區(qū)別
這篇文章主要介紹了簡單了解Spring中BeanFactory與FactoryBean的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12Java使用ES?Client?調(diào)用滾動查詢及Elasticsearch滾動查詢Scrolling機制
Elasticsearch提供了一種稱為"滾動查詢"(Scrolling)的機制,用于處理大型數(shù)據(jù)集的分頁查詢,這篇文章給大家介紹滾動查詢的一般步驟及Java使用ESClient調(diào)用滾動查詢的方法,感興趣的朋友一起看看吧2023-08-08Java--SSH,SSM和Spring?Boot框架區(qū)別及優(yōu)缺點說明
這篇文章主要介紹了Java--SSH,SSM和Spring?Boot框架區(qū)別及優(yōu)缺點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12IDEA創(chuàng)建Maven項目一直顯示正在加載的問題及解決
這篇文章主要介紹了IDEA創(chuàng)建Maven項目一直顯示正在加載的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12IntelliJ IDEA語法報錯"Usage of API documented as @since 1.6+"的解決
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA語法報錯"Usage of API documented as @since 1.6+"的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10IntelliJ Idea常用11款插件(提高開發(fā)效率)
這篇文章主要介紹了IntelliJ Idea常用11款插件(提高開發(fā)效率),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07