最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot學(xué)習(xí)之基于注解的緩存

 更新時間:2022年03月30日 11:21:20   作者:這世界那么多上官婉兒  
spring boot對緩存支持非常靈活,我們可以使用默認(rèn)的EhCache,也可以整合第三方的框架,只需配置即可,下面這篇文章主要給大家介紹了關(guān)于SpringBoot學(xué)習(xí)之基于注解緩存的相關(guān)資料,需要的朋友可以參考下

主要使用到的注解:

  • @Cacheable(放入緩存) 能夠根據(jù)方法的請求參數(shù)對其結(jié)果進行緩存
  • @CachePut(修改緩存中的值) 能夠根據(jù)方法的請求參數(shù)對其結(jié)果進行緩存,和 @Cacheable 不同的是,它每次都會觸發(fā)真實方法的調(diào)用
  • @CachEvict(清除緩存) 能夠根據(jù)一定的條件對緩存進行清空

使用步驟

1、@EnableCaching 這個注解,標(biāo)注在 springboot 主啟動類上,表示系統(tǒng)開啟緩存。

@EnableCaching
@SpringBootApplication(scanBasePackages = CommonConstant.DEFAULT_PACKAGE_NAME)
public class PortalApp {
    public static void main(String[] args) {
        SpringApplication.run(PortalApp.class, args);
        }
    }

2、在對應(yīng)需要進行緩存的方法上加入對應(yīng)的注解即可;

注解屬性介紹

@Cacheable() 的屬性值及釋義:

value/cacheNames = "demoCommon";//redis的第一層文件夾為demoCommon key="#id"; //系統(tǒng)自定義key值格式,相當(dāng)于value下邊一層 unless = "#result==null";//方法返回值結(jié)果為空時,不存入緩存;

代碼示例如下:

//-- 根據(jù)id查詢demo
@Cacheable(cacheNames = "demoCommon", unless = "#result==null", key="#id")
public Demo queryById(String id) {
    return demoMapper.queryById(id);
}

調(diào)用上述接口,會將接口返回的數(shù)據(jù)以下圖格式存入redis,接口再使用此id作為參數(shù)查詢時,會直接去緩存里拿:

@CachPut屬性值及釋義:

value/cacheNames = "demoCommon";//redis的第一層文件夾為demoCommon keyGenerator="myKeyGenerator"; //系統(tǒng)自定義key值格式,相當(dāng)于value下邊一層

調(diào)用示例如下:

@CachePut(value = "demoCommon", key=#"#demo.id")
public Demo updateById(Demo demo) {
    demoMapper.updateById(demo);
    return demo;
}

調(diào)用上圖接口,會根據(jù)傳入的id找到對應(yīng)的key緩存的值,并修改緩存中的value;

@CachEvict屬性值及釋義:

value/cacheNames = "demoCommon";//redis的第一層文件夾為demoCommon key=#"#demo.id"; //系統(tǒng)自定義key值格式,相當(dāng)于value下邊一層 allEntries="true";// 是否清空所有緩存內(nèi)容,缺省為 false,如果指定為 true,則方法調(diào)用后將立即清空value/cachaeNames下邊的所有緩存

@CacheEvict(value = "demoCommon",allEntries="true",key = "#demo.id")
public Demo deleteById(Demo demo) {
    demoMapper.deleteById(demo);
    return demo;
}

調(diào)用接口后,redis為:

@Caching

接口需要使用多個注解標(biāo)簽,則可使用此注解;示例如下:

@Caching(put = {
        @CachePut(value = "demoCommon1", key = "#demo.id")
        @CachePut(value = "demoCommon2", key = "#demo.id")
        @CachePut(value = "demoCommon3", key = "#demo.id")
})
public Demo updateByIdC(Demo demo) {
    demoMapper.updateById(demo);
    return demo;
}

總結(jié)

到此這篇關(guān)于SpringBoot基于注解的緩存的文章就介紹到這了,更多相關(guān)SpringBoot注解的緩存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot操作Jedis案例代碼

    SpringBoot操作Jedis案例代碼

    這篇文章主要介紹了SpringBoot操作Jedis案例代碼,代碼部分包括pom依賴、配置相關(guān)參數(shù)、JedisPool的設(shè)置,代碼簡單易懂對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 淺談Springboot下引入mybatis遇到的坑點

    淺談Springboot下引入mybatis遇到的坑點

    這篇文章主要介紹了Springboot下引入mybatis遇到的坑點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java生成在線驗證碼

    java生成在線驗證碼

    這篇文章主要介紹了java生成在線驗證碼,需要的朋友可以參考下
    2023-10-10
  • SpringBoot 集成 activiti的示例代碼

    SpringBoot 集成 activiti的示例代碼

    這篇文章主要介紹了SpringBoot 集成 activiti的示例代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 6種SpringBoot解決跨域請求的方法整理

    6種SpringBoot解決跨域請求的方法整理

    跨域資源共享是一種標(biāo)準(zhǔn)機制,允許服務(wù)器聲明哪些源可以訪問其資源,在SpringBoot應(yīng)用中,有多種方式可以解決跨域問題,本文主要介紹了6種常見的解決方案,大家可以根據(jù)需求自行選擇
    2025-04-04
  • Spring?Boot整合持久層之JdbcTemplate多數(shù)據(jù)源

    Spring?Boot整合持久層之JdbcTemplate多數(shù)據(jù)源

    持久層是JavaEE中訪問數(shù)據(jù)庫的核心操作,SpringBoot中對常見的持久層框架都提供了自動化配置,例如JdbcTemplate、JPA 等,MyBatis 的自動化配置則是MyBatis官方提供的。接下來分別向讀者介紹Spring Boot整合這持久層技術(shù)中的整合JdbcTemplate
    2022-08-08
  • Spring應(yīng)用拋出NoUniqueBeanDefinitionException異常的解決方案

    Spring應(yīng)用拋出NoUniqueBeanDefinitionException異常的解決方案

    這篇文章介紹了解決org.springframework.beans.factory.NoUniqueBeanDefinitionException異常的一些解決方案,從這些解決方案可以看出Spring框架的設(shè)計精妙,遇見此問題的朋友可以參考下該解決方案
    2021-06-06
  • Java歐拉函數(shù)的計算代碼詳解

    Java歐拉函數(shù)的計算代碼詳解

    這篇文章主要介紹了Java實現(xiàn)歐拉函數(shù)的計算,從歐拉函數(shù)引伸出來在環(huán)論方面的事實和拉格朗日定理構(gòu)成了歐拉定理的證明,本文通過實例代碼給大家介紹的很詳細,需要的朋友可以參考下
    2021-05-05
  • 解決@Cacheable在同一個類中方法調(diào)用不起作用的問題

    解決@Cacheable在同一個類中方法調(diào)用不起作用的問題

    這篇文章主要介紹了解決@Cacheable在同一個類中方法調(diào)用不起作用的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    這篇文章主要介紹了Spring?Boot?集成?Swagger2構(gòu)建?API文檔,通過使用?Swagger,我們只需要按照它所給定的一系列規(guī)范去定義接口以及接口的相關(guān)信息,然后它就能幫我們自動生成各種格式的接口文檔,方便前后端開發(fā)者進行前后端聯(lián)調(diào),下文需要的朋友可以參考一下
    2022-03-03

最新評論

常宁市| 璧山县| 泰兴市| 子长县| 方城县| 彰武县| 眉山市| 景谷| 德化县| 长兴县| 阳曲县| 吉安县| 巍山| 阿合奇县| 赫章县| 神池县| 舞阳县| 汽车| 葫芦岛市| 盱眙县| 紫金县| 五河县| 肇源县| 东宁县| 通州市| 鄂托克前旗| 太湖县| 浠水县| 长岛县| 哈尔滨市| 封丘县| 宝清县| 元谋县| 白朗县| 稻城县| 壤塘县| 金溪县| 古蔺县| 库车县| 中西区| 永平县|