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

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

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

主要使用到的注解:

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

使用步驟

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

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

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

注解屬性介紹

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

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

代碼示例如下:

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

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

@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)用上圖接口,會(huì)根據(jù)傳入的id找到對(duì)應(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

接口需要使用多個(gè)注解標(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot操作Jedis案例代碼

    SpringBoot操作Jedis案例代碼

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

    淺談Springboot下引入mybatis遇到的坑點(diǎn)

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

    java生成在線驗(yàn)證碼

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

    SpringBoot 集成 activiti的示例代碼

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

    6種SpringBoot解決跨域請(qǐng)求的方法整理

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

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

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

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

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

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

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

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

    這篇文章主要介紹了解決@Cacheable在同一個(gè)類中方法調(diào)用不起作用的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    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)信息,然后它就能幫我們自動(dòng)生成各種格式的接口文檔,方便前后端開發(fā)者進(jìn)行前后端聯(lián)調(diào),下文需要的朋友可以參考一下
    2022-03-03

最新評(píng)論

龙胜| 延长县| 大安市| 澜沧| 开平市| 蒙城县| 内黄县| 罗山县| 嘉善县| 红桥区| 丁青县| 岳池县| 平原县| 长垣县| 峨边| 延川县| 广汉市| 承德市| 永安市| 台南市| 工布江达县| 高阳县| 芜湖市| 龙泉市| 吴旗县| 南投市| 江达县| 水城县| 楚雄市| 闽侯县| 拉孜县| 兴仁县| 林芝县| 和硕县| 西盟| 阳曲县| 台南县| 乡宁县| 扎鲁特旗| 翼城县| 绥阳县|