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

SpringBoot集成Caffeine緩存的實現(xiàn)步驟

 更新時間:2021年05月20日 09:53:38   作者:老K的Java博客  
Caffeine cache是一個針對Java的高性能緩存庫。在本文中,我們將介紹它與Spring Boot如何一起使用。

Maven依賴

要開始使用咖啡因Caffeine和Spring Boot,我們首先添加spring-boot-starter-cache和咖啡因Caffeine依賴項:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>
    <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
    </dependency>
</dependencies>

這些將導(dǎo)入基本Spring緩存支持,以及Caffeine庫。

配置

現(xiàn)在我們需要在Spring Boot應(yīng)用程序中配置緩存。

首先,我們制造一種Caffeine bean。這是控制緩存行為(如過期、緩存大小限制等)的主要配置:

@Bean
public Caffeine caffeineConfig() {
    return Caffeine.newBuilder().expireAfterWrite(60, TimeUnit.MINUTES);
}

接下來,我們需要使用Spring CacheManager接口創(chuàng)建另一個bean。Caffeine提供了這個接口的實現(xiàn),它需要我們在上面創(chuàng)建的咖啡因?qū)ο螅?/p>

@Bean
public CacheManager cacheManager(Caffeine caffeine) {
    CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
    caffeineCacheManager.setCaffeine(caffeine);
    return caffeineCacheManager;
}

最后,我們需要使用@EnableCaching注釋在springboot中啟用緩存。這可以添加到應(yīng)用程序中的任何@Configuration類中。

示例

在啟用緩存并配置為使用咖啡因的情況下,讓我們看看如何在SpringBoot應(yīng)用程序中使用緩存的幾個示例。

在SpringBoot中使用緩存的主要方法是使用@Cacheable注釋。這個注釋適用于SpringBean的任何方法(甚至整個類)。它指示注冊的緩存管理器將方法調(diào)用的結(jié)果存儲在緩存中。

典型的用法是服務(wù)類內(nèi)部:

@Service
public class AddressService {
    @Cacheable
    public AddressDTO getAddress(long customerId) {
        // lookup and return result
    }
}

使用不帶參數(shù)的@Cacheable注釋將強制Spring為cache和cache鍵使用默認(rèn)名稱。

我們可以通過向注釋中添加一些參數(shù)來覆蓋這兩種行為:

@Service
public class AddressService {
    @Cacheable(value = "address_cache", key = "customerId")
    public AddressDTO getAddress(long customerId) {
        // lookup and return result
    }
}

上面的例子告訴Spring使用名為address_cache的緩存和customerId參數(shù)作為緩存鍵。

最后,由于緩存管理器本身就是一個SpringBean,我們還可以將它自動連接到任何其他bean中并直接使用它:

@Service
public class AddressService {

    @Autowired
    CacheManager cacheManager;

    public AddressDTO getAddress(long customerId) {
        if(cacheManager.containsKey(customerId)) {
            return cacheManager.get(customerId);
        }
        
        // lookup address, cache result, and return it
    }
}

完整代碼地址:https://github.com/eugenp/tutorials/tree/master/spring-boot-modules/spring-boot-libraries

以上就是SpringBoot集成Caffeine緩存的步驟的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot集成Caffeine緩存的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java手機(jī)號最新校驗規(guī)則

    Java手機(jī)號最新校驗規(guī)則

    在Java中,進(jìn)行手機(jī)號校驗通常使用正則表達(dá)式(Regex)來匹配手機(jī)號的格式,以下是一個基于當(dāng)前(截至2024年)中國手機(jī)號規(guī)則的校驗方法,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Java中的ThreadLocal詳解

    Java中的ThreadLocal詳解

    THreadLocalMap中的Entry的key使用的是ThreadLocal對象的弱引用,在沒有其他地方對ThreadLoca依賴,ThreadLocalMap中的ThreadLocal對象就會被回收掉,但是對應(yīng)的不會被回收,具體內(nèi)容請和小編一起看下面文章詳情
    2021-09-09
  • Spring Cloud Feign的使用案例詳解

    Spring Cloud Feign的使用案例詳解

    Feign是Netflix開發(fā)的?個輕量級RESTful的HTTP服務(wù)客戶端(?它來發(fā)起請求,遠(yuǎn)程調(diào)?的),是以Java接?注解的?式調(diào)?Http請求,F(xiàn)eign被?泛應(yīng)?在Spring Cloud 的解決?案中,本文給大家介紹Spring Cloud Feign的使用,感興趣的朋友一起看看吧
    2023-02-02
  • 解決IDEA中快捷鍵Alt+Enter不能使用的問題

    解決IDEA中快捷鍵Alt+Enter不能使用的問題

    這篇文章主要介紹了解決IDEA中快捷鍵Alt+Enter不能使用的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • RxJava中多種場景的實現(xiàn)總結(jié)

    RxJava中多種場景的實現(xiàn)總結(jié)

    這篇文章給大家詳細(xì)介紹了RxJava中多種場景的實現(xiàn),對大家學(xué)習(xí)使用RxJava具有一定的參考借鑒價值,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2016-10-10
  • SpringSecurity?Web權(quán)限方案實現(xiàn)全過程

    SpringSecurity?Web權(quán)限方案實現(xiàn)全過程

    Spring Security是一個功能強大且高度可定制的身份驗證和授權(quán)框架,專門用于保護(hù)Java應(yīng)用程序的Web集成,下面這篇文章主要給大家介紹了關(guān)于SpringSecurity?Web權(quán)限方案實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 接口簽名怎么用Java實現(xiàn)

    接口簽名怎么用Java實現(xiàn)

    今天帶大家學(xué)習(xí)java的相關(guān)知識,文章圍繞怎么用Java實現(xiàn)接口簽名展開,文中有非常詳細(xì)的代碼示例及介紹,需要的朋友可以參考下
    2021-06-06
  • Springboot中依賴注入的三種方式詳解

    Springboot中依賴注入的三種方式詳解

    這篇文章主要介紹了Springboot中依賴注入的三種方式詳解,Setter Injection需要依賴@Autowired注解,使用方式與Field Injection有所不同,Field Injection時@Autowired是用在成員變量上,需要的朋友可以參考下
    2023-09-09
  • Netty網(wǎng)絡(luò)編程實戰(zhàn)之開發(fā)聊天室功能

    Netty網(wǎng)絡(luò)編程實戰(zhàn)之開發(fā)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Netty實現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Netty網(wǎng)絡(luò)編程有一定幫助,需要的可以參考一下
    2022-10-10
  • IDEA2019.2.2配置Maven3.6.2打開出現(xiàn)Unable to import Maven project

    IDEA2019.2.2配置Maven3.6.2打開出現(xiàn)Unable to import Maven project

    這篇文章主要介紹了IDEA2019.2.2配置Maven3.6.2打開出現(xiàn)Unable to import Maven project,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

南涧| 定兴县| 隆安县| 祁东县| 佛山市| 如皋市| 清远市| 上饶县| 阳西县| 灵石县| 嘉荫县| 冀州市| 山阳县| 潜山县| 麟游县| 文水县| 赤壁市| 北海市| 博罗县| 永福县| 常熟市| 嘉义市| 镇沅| 大余县| 鲁山县| 车致| 宜兰县| 资兴市| 融水| 驻马店市| 石柱| 厦门市| 宜丰县| 怀仁县| 江源县| 彭阳县| 双桥区| 沽源县| 江山市| 西乡县| 分宜县|