我想对Spring Boot 1.5使用@Cacheable注释,而无需任何外部缓存提供程序。如何为simple提供者案例设置TTL?
根据this question和其他在线资源,我可以使用Guava的CacheBuilder
通过提供CacheConfiguration
来设置到期时间。
但是,似乎Guava Cache是deprecated by Spring。因此,如果没有番石榴,如何为简单的Spring缓存设置TTL?
答案 0 :(得分:0)
您可以尝试
Ehcache
在pom.xml中添加依赖项
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.6.2</version>
</dependency>
实现缓存
@Service
public class NumberService {
// ...
@Cacheable(
value = "squareCache",
key = "#number",
condition = "#number>10")
public BigDecimal square(Long number) {
BigDecimal square = BigDecimal.valueOf(number)
.multiply(BigDecimal.valueOf(number));
log.info("square of {} is {}", number, square);
return square;
}
}