maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
這裡使用guava cache
配置(配置檔案 or java配置)
配置檔案
spring.cache.type=guava
spring.cache.cache-names=cache1,cache2
spring.cache.guava.spec=maximumSize=500,expireAfterAccess=5m
java配置
@Configuration
@EnableCaching
public class CacheConfig {
public static final String CACHE1 = "cache1";
public static final String CACHE2 = "cache2";
@Bean
public Cache cache1() {
return new GuavaCache(CACHE1, CacheBuilder.newBuilder()
.maximumSize(500)
.expireAfterWrite(5, TimeUnit.MINUTES)
.build());
}
@Bean
public Cache cache2() {
return new GuavaCache(CACHE2, CacheBuilder.newBuilder()
.maximumSize(500)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build());
}
}
使用
@Cacheable(CacheConfig.CACHE1)
public User getUser(String token){
//......
}