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>
添加回答
舉報