本文,講解 Spring Boot 如何集成 Guava Cache,實現緩存。javascript
博客地址:blog.720ui.com/java
在閱讀「Spring Boot 揭祕與實戰(二) 數據緩存篇 - 快速入門」後,對 Spring Boot 集成緩存機制有必定了解後,對 Spring Boot 集成緩存機制有必定了解後,咱們來了解下 Guava Cache 的使用。git
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
(完)
更多精彩文章,盡在「服務端思惟」微信公衆號!