2 回答
TA贡献1852条经验 获得超7个赞
如果您希望缓存内容在没有交互的情况下消失,那确实不会发生。Ehcache 没有对过期项目的背景检查,可以急切地删除它们。
而是内联删除过期项目,无论何时您尝试访问它们,或者如果在写入缓存期间,由于缓存已满,驱逐开始。
TA贡献1735条经验 获得超5个赞
能够使用 ehcache-JSR-107 包装器解决此问题。下面是java配置
@Component
public class CachingSetup implements JCacheManagerCustomizer {
@Override
public void customize(CacheManager cacheManager)
{
cacheManager.createCache("trans", new MutableConfiguration<>()
.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(SECONDS, 10)))
.setStoreByValue(false)
.setStatisticsEnabled(true));
}
}
绒球
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId> <!--Starter for using Spring Framework's caching support-->
</dependency>
<dependency>
<groupId>javax.cache</groupId> <!-- JSR-107 API-->
<artifactId>cache-api</artifactId>
</dependency>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
添加回答
举报