解決@Cacheable在同一個(gè)類中方法調(diào)用不起作用的問(wèn)題
@Cacheable在同一類中方法調(diào)用無(wú)效

上述圖片中,同一個(gè)類中g(shù)enLiveBullets()方法調(diào)用同類中的queryLiveByRoom()方法,這樣即便標(biāo)識(shí)了Cacheable標(biāo)簽,再次調(diào)用時(shí)也沒(méi)有走緩存。
cacheable不支持內(nèi)部方法調(diào)用的方式,需要修改為把請(qǐng)求緩存的改成service方式,Aservice中的genLiveBullets()調(diào)用Bservice中的queryLiveByRoom()
見(jiàn)下圖,已測(cè)試再次調(diào)用時(shí)為走的緩存。

@Cacheable的使用總結(jié)
@Cacheable(value = "PERSON",key = "#tagId+'_'+#zz") public List<Person> getPersonByTagid(Long tagId,String zz)
- 其中value表示該方法返回的參數(shù)的緩存存在那個(gè)Cache里(即為緩存塊的名字)
- 緩存結(jié)果以一個(gè)鍵值對(duì)存放在緩存中,注解中key即為鍵值對(duì)的key;value即為方法返回的結(jié)果
- key用雙引號(hào),里面#加上方法的參數(shù):獲取方法的參數(shù), ''表示在參數(shù)之間添加分隔符
常規(guī)使用方法
- 在springboot的啟動(dòng)類上使用@EnableCaching//開(kāi)啟緩存
- 在方法上直接使用@Cacheable()使用緩存
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot?Shiro?auto-configure工作流程詳解
這篇文章主要為大家介紹了Spring?Boot?Shiro?auto-configure工作流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
基于servlet實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)頁(yè)訪問(wèn)次數(shù)
這篇文章主要為大家詳細(xì)介紹了基于servlet實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)頁(yè)訪問(wèn)次數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java利用opencv實(shí)現(xiàn)用字符展示視頻或圖片的方法
這篇文章主要介紹了Java利用opencv實(shí)現(xiàn)用字符展示視頻或圖片的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
基于mybatis中數(shù)組傳遞注意事項(xiàng)
這篇文章主要介紹了mybatis中數(shù)組傳遞注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
java開(kāi)發(fā)使用StringUtils.split避坑詳解
這篇文章主要為大家介紹了java開(kāi)發(fā)使用StringUtils.split避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

