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

SpringBoot整合Caffeine使用示例

 更新時間:2024年07月04日 09:11:14   作者:謝林v  
Spring Boot 和 Caffeine 可以很容易地進行整合,Caffeine 是一個現(xiàn)代化的 Java 緩存庫,提供了高性能和靈活的緩存策略,本文給大家介紹了SpringBoot整合Caffeine使用示例,需要的朋友可以參考下

簡單介紹

  • 在需要緩存的方法上使用@Cacheable注解來緩存方法的返回值:
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

@Service
public class MyService {

    @Cacheable(cacheNames = "myCache", key = "#id")
    public String getExpensiveDataById(Integer id) {
        // 模擬耗時操作
        return "Some expensive data for id: " + id;
    }
}

getExpensiveDataById方法的結果將根據傳入的id被緩存。如果同樣的id再次請求,將直接從緩存中獲取結果,而不會執(zhí)行方法體中的耗時操作。

cacheNames屬性定義了緩存的邏輯名稱,它是一個字符串。在Spring的緩存框架中,這個名稱被用來唯一標識一個緩存區(qū)域。

緩存區(qū)域是底層緩存存儲中的一部分,可以把它想象成一個命名的存儲空間,其中可以存放多個鍵值對。每個緩存名稱對應一個緩存區(qū)域。

緩存區(qū)域內部以鍵值對的形式存儲數據。每個鍵值對包含一個鍵(key)和相應的值(value)。

  • 使用@CacheEvict注解手動清除緩存。
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;

@Service
public class MyService {

    @CacheEvict(cacheNames = "myCache", allEntries = true)
    public void clearMyCache() {
        // 清除名為myCache的緩存中的所有項
    }
}

示例

新建一個Spring項目。Caffeine已經作為默認的緩存庫被包含在Spring Boot的依賴中,所以通常不需要顯式添加Caffeine的依賴。

配置相關屬性

# application.properties 示例
spring.cache.caffeine.spec=maximumSize=500,expireAfterAccess=30m

Controller

@RestController
@Slf4j
public class MyController {
    @Resource
    private MyService myService;

    @GetMapping("/cache")
    public String cache() {
        log.info("收到了增加緩存請求");
        return myService.getExpensiveDataById(1);
    }
    @GetMapping("/cache/del")
    public void delCache() {
        log.info("收到了刪除緩存請求");
        myService.deleteExpensiveDataById(1);
    }
}

Service

@Service
@Slf4j
public class MyService {

    @Cacheable(cacheNames = "myCache", key = "#id")
    public String getExpensiveDataById(Integer id) {
        // 模擬耗時操作
        log.info("執(zhí)行了操作");
        return "Some expensive data for id: " + id;
    }

    @CacheEvict(cacheNames = "myCache", key = "#id")
    public void deleteExpensiveDataById(Integer id) {
        // 模擬刪除操作
        log.info("執(zhí)行了刪除操作");
    }

}

測試步驟

1. 運行項目,打開瀏覽器,輸入請求地址localhost:8080/cache,看到日志輸出如下:

2. 刷新地址,發(fā)現(xiàn)日志輸出如下:

3. 說明這次請求走了緩存 3. 輸入請求地址localhost:8080/cache/del,日志輸出如下

4. 再次請求地址lcoalhost:8080/cache,日志輸出如下

說明上一次的刪除緩存已經起效果。

到此這篇關于SpringBoot整合Caffeine使用示例的文章就介紹到這了,更多相關SpringBoot整合Caffeine內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java.net.http.HttpClient使用示例解析

    java.net.http.HttpClient使用示例解析

    這篇文章主要為大家介紹了java.net.http.HttpClient使用示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • java實現(xiàn)ATM機系統(tǒng)(2.0版)

    java實現(xiàn)ATM機系統(tǒng)(2.0版)

    這篇文章主要為大家詳細介紹了java實現(xiàn)ATM機系統(tǒng)2.0版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • mybatis?實現(xiàn)多層級collection嵌套

    mybatis?實現(xiàn)多層級collection嵌套

    這篇文章主要介紹了mybatis?實現(xiàn)多層級collection嵌套,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring Bean配置方式總結

    Spring Bean配置方式總結

    定義Spring Bcan的3種方式分別是:基于XML 的方式配置、基于注解掃播方式配置、基于元數據類的配置,本文就通過代碼示例給大家詳細講講這三種配置方式,需要的朋友可以參考下
    2023-12-12
  • Spring Boot中的 6 種API請求參數讀取方式示例詳解

    Spring Boot中的 6 種API請求參數讀取方式示例詳解

    使用Spring Boot開發(fā)API的時候,讀取請求參數是服務端編碼中最基本的一項操作,Spring Boot中也提供了多種機制來滿足不同的API設計要求,這篇文章主要介紹了Spring Boot中的 6 種API請求參數讀取方式示例詳解,需要的朋友可以參考下
    2024-05-05
  • Java在高并發(fā)場景下實現(xiàn)點贊計數器

    Java在高并發(fā)場景下實現(xiàn)點贊計數器

    點贊計數器的本質就是對某個變量在高并發(fā)情況下的修改,這篇文章主要為大家介紹了Java實現(xiàn)點贊計數器的示例代碼,感興趣的小伙伴可以了解一下
    2023-06-06
  • Spring中自帶的@Schedule實現(xiàn)自動任務的過程解析

    Spring中自帶的@Schedule實現(xiàn)自動任務的過程解析

    這篇文章主要介紹了關于Spring中自帶的@Schedule實現(xiàn)自動任務,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Spring Boot 校驗用戶上傳的圖片文件(兩種方式)

    Spring Boot 校驗用戶上傳的圖片文件(兩種方式)

    圖片上傳是現(xiàn)代應用中非常常見的一種功能,也是風險比較高的一個地方,惡意用戶可能會上傳一些病毒、木馬,本文給大家介紹兩種對圖片文件進行校驗的方法,感興趣的朋友一起看看吧
    2023-11-11
  • mybatis如何封裝List<String>類型屬性

    mybatis如何封裝List<String>類型屬性

    這篇文章主要介紹了mybatis如何封裝List<String>類型屬性問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 輕松掌握Java享元模式

    輕松掌握Java享元模式

    這篇文章主要幫助大家輕松掌握Java享元模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

浮梁县| 长寿区| 中卫市| 佛教| 惠州市| 茌平县| 安阳县| 宁陕县| 扶风县| 永顺县| 澄迈县| 辽宁省| 寻甸| 崇州市| 阜平县| 正蓝旗| 镇原县| 巴南区| 河南省| 仪征市| 长沙市| 德昌县| 交口县| 定兴县| 望奎县| 临武县| 惠来县| 黄梅县| 沙河市| 确山县| 吉首市| 宣武区| 吴桥县| 沁水县| 康保县| 霍州市| 阿拉善右旗| 左云县| 沁水县| 丘北县| 浦城县|