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

SpringCache之 @CachePut的使用

 更新時間:2021年02月13日 10:55:27   作者:最胖的胖胖虎  
這篇文章主要介紹了SpringCache之 @CachePut的使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用CachePut注解,該方法每次都會執(zhí)行,會清除對應的key值得緩存(或者更新),

分為以下兩種情況:

如果返回值null,下次進行該key值查詢時,還會查一次數(shù)據(jù)庫,此時相當于@CacheEvict注解;

如果返回值不為null,此時會進行該key值緩存的更新,更新緩存值為返回的數(shù)據(jù);

分析:情況一返回值為null:

//使用Redis緩存
  @Cacheable(value="Manager",key="#id")
  public User findById(Integer id) {
    System.out.println("---查數(shù)據(jù)庫DB-----");
    return userMapper.selectByPrimaryKey(id);
  }
 
  @CachePut(value="Manager",key="#manager.getId()")
  //@CacheEvict(value="Manager",key="#manager.getId()")//清除數(shù)據(jù)
  public User update(User manager) {
    userMapper.updateByPrimaryKeySelective(manager);
    //return userMapper.selectByPrimaryKey(manager.getId());
    return null;
  }

情況二返回值不為null: 

先進行數(shù)據(jù)id為1的查詢,發(fā)現(xiàn)下次查詢id為1的數(shù)據(jù)不會再查詢DB,直接走緩存;

此時進行id為1數(shù)據(jù)更新操作,并且返回值為null;

進行id為1的數(shù)據(jù)查詢,發(fā)現(xiàn)此時id為1緩存不存在,進行DB查詢;

 //使用Redis緩存
  @Cacheable(value="Manager",key="#id")
  public User findById(Integer id) {
    System.out.println("---查數(shù)據(jù)庫DB-----");
    return userMapper.selectByPrimaryKey(id);
  }
 
  @CachePut(value="Manager",key="#manager.getId()")
  //@CacheEvict(value="Manager",key="#manager.getId()")//清除數(shù)據(jù)
  public User update(User manager) {
    userMapper.updateByPrimaryKeySelective(manager);
    return userMapper.selectByPrimaryKey(manager.getId());
    //return null;
  }

先進行數(shù)據(jù)id為1的查詢,發(fā)現(xiàn)下次查詢id為1的數(shù)據(jù)不會再查詢DB,直接走緩存;

此時進行id為1數(shù)據(jù)更新操作,返回值不為null;

進行id為1的數(shù)據(jù)查詢,發(fā)現(xiàn)此時id為1緩存被更新為更新的數(shù)據(jù),且沒有進行DB查詢操作;

補充:@CachePut和@Cacheable的區(qū)別

@CachePut負責增加緩存

@Cacheable負責查詢緩存,如果沒查到,則將執(zhí)行方法,并將方法的結果增加到緩存

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • SpringBoot 2 統(tǒng)一異常處理過程解析

    SpringBoot 2 統(tǒng)一異常處理過程解析

    這篇文章主要介紹了SpringBoot 2 統(tǒng)一異常處理過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Java集合教程之Collection實例詳解

    Java集合教程之Collection實例詳解

    集合,或者叫容器,是一個包含多個元素的對象,下面這篇文章主要給大家介紹了關于Java集合教程之Collection的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • Java 如何通過Magic 魔數(shù)獲取文件類型

    Java 如何通過Magic 魔數(shù)獲取文件類型

    魔數(shù)有很多種定義,這里我們討論的主要是在編程領域的定義,文件的起始幾個字節(jié)的內(nèi)容是固定的,本文給大家介紹Java Magic 魔數(shù)獲取文件類型的相關知識,感興趣的朋友一起看看吧
    2023-11-11
  • 詳解MyEclipse中搭建spring-boot+mybatis+freemarker框架

    詳解MyEclipse中搭建spring-boot+mybatis+freemarker框架

    這篇文章主要介紹了詳解MyEclipse中搭建spring-boot+mybatis+freemarker框架,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 詳解怎么用Java的super關鍵字

    詳解怎么用Java的super關鍵字

    今天帶大家學習Java中super關鍵字是怎么用的,文中有非常詳細的介紹,對正在學習的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • 利用Java多線程技術導入數(shù)據(jù)到Elasticsearch的方法步驟

    利用Java多線程技術導入數(shù)據(jù)到Elasticsearch的方法步驟

    這篇文章主要介紹了利用Java多線程技術導入數(shù)據(jù)到Elasticsearch的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • SpringBoot三種打包方法舉例詳解

    SpringBoot三種打包方法舉例詳解

    這篇文章主要給大家介紹了關于SpringBoot三種打包方法的相關資料,Spring Boot是一個開發(fā)框架,目的是簡化Spring應用的初始搭建過程和開發(fā)過程,文中提供了3種打包方法,需要的朋友可以參考下
    2023-12-12
  • SpringBoot實現(xiàn)Word轉PDF和TXT的實踐分享

    SpringBoot實現(xiàn)Word轉PDF和TXT的實踐分享

    研發(fā)工作中難免會遇到一些奇奇怪怪的需求,就比如最近,客戶提了個新需求:上傳一個WORD文檔,要求通過系統(tǒng)把該文檔轉換成PDF和TXT,所以本文給大家分享了SpringBoot實現(xiàn)Word轉PDF和TXT的實踐,感興趣的朋友可以參考下
    2024-08-08
  • java Split 實現(xiàn)去除一個空格和多個空格

    java Split 實現(xiàn)去除一個空格和多個空格

    這篇文章主要介紹了java Split 實現(xiàn)去除一個空格和多個空格,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Mybatis常用分頁插件實現(xiàn)快速分頁處理技巧

    Mybatis常用分頁插件實現(xiàn)快速分頁處理技巧

    這篇文章主要介紹了Mybatis常用分頁插件實現(xiàn)快速分頁處理的方法。非常不錯具有參考借鑒價值,感興趣的朋友一起看看
    2016-10-10

最新評論

定兴县| 康定县| 四会市| 黑水县| 长岭县| 绿春县| 武宁县| 东兴市| 湘西| 华蓥市| 大连市| 广德县| 苍梧县| 五寨县| 呼玛县| 海伦市| 九江县| 新蔡县| 吉安市| 桂平市| 武城县| 宁津县| 开化县| 阳城县| 健康| 诸城市| 大英县| 平江县| 张家港市| 丹凤县| 额济纳旗| 滦南县| 台中市| 横山县| 澄迈县| 连江县| 中卫市| 云安县| 筠连县| 丹东市| 沾益县|