Spring Boot 揭祕與實戰(二) 數據緩存篇 - Guava Cache

本文,講解 Spring Boot 如何集成 Guava Cache,實現緩存。javascript

博客地址:blog.720ui.com/java

在閱讀「Spring Boot 揭祕與實戰(二) 數據緩存篇 - 快速入門」後,對 Spring Boot 集成緩存機制有必定了解後,對 Spring Boot 集成緩存機制有必定了解後,咱們來了解下 Guava Cache 的使用。git

Guava Cache 集成

Guava 包含了若干被 Google 的 Java 項目普遍依賴的核心庫,例如:集合 [collections] 、緩存 [caching] 、原生類型支持 [primitives support] 、併發庫 [concurrency libraries] 、通用註解 [common annotations] 、字符串處理 [string processing] 、I/O 等等。 github

題外話,我的對 Guava 的 集合 [collections] 、緩存 [caching] 十分鐘愛。 spring

Spring Boot 對 Guava 的緩存機制也作了很好的支持。緩存

在 Spring Boot 中集成 Guava Cache 很是容易,只須要在 pom.xml 中增長Guava 依賴便可。springboot

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>複製代碼

其實,底層根據自動配置機制實現的。具體實現原理,若是有興趣的話,能夠參考以前的文章「Spring Boot 揭祕與實戰 源碼分析 - 開箱即用,內藏玄機」 和 「Spring Boot 揭祕與實戰 源碼分析 - 工做原理剖析」。微信

若是想對Guava Cache 更深刻的瞭解,能夠參考 ifeve.com/google-guav…併發

運行起來,控制檯打印的日誌信息,說明已是GuavaCacheManager實例,說明GuavaCache 開啓成功了。源碼分析

Bean 'cacheManager' of type [class org.springframework.cache.guava.GuavaCacheManager]複製代碼

個性化配置

若是想自定義參數,例如存活時間,緩存最大數目等。咱們能夠經過 Java Config 的方式,進行配置。

下面案例,我配置存活時間爲 10 秒,緩存最大數目爲 1000 個。

@Configuration
@EnableCaching
public class GuavaCacheConfig { 
    @Bean
    public CacheManager cacheManager() {
        GuavaCacheManager cacheManager = new GuavaCacheManager();
        cacheManager.setCacheBuilder(
            CacheBuilder.newBuilder().
            expireAfterWrite(10, TimeUnit.SECONDS).
            maximumSize(1000));
        return cacheManager;
    }
}複製代碼

源代碼

相關示例完整代碼: springboot-action

(完)

更多精彩文章,盡在「服務端思惟」微信公衆號!

相關文章
相關標籤/搜索