我想只在磁盘库中缓存元素而不是在内存/ ram中,为此我使用了以下配置,它将元素存储在磁盘上,但它在5分钟后不会过期/从磁盘中删除数据。
<diskStore path="/global-cache" />
<cache name="globalCache"
maxElementsInMemory="0"
eternal="true"
timeToIdleSeconds="0"
diskSpoolBufferSizeMB="1"
diskPersistent="true"
timeToLiveSeconds="300"
diskExpiryThreadIntervalSeconds="120"
overflowToDisk="true"
memoryStoreEvictionPolicy="LFU" />
我可以在ehcache配置中做些什么,它会在指定时间后从磁盘库过期?
答案 0 :(得分:1)
你不能像documentation那样声明:
如果条目过期但未被访问,并且没有资源限制 强制驱逐,然后过期的条目仍然存在。
即使某些约束会强制驱逐,Ehcache也可能只删除部分过期条目,因此不需要扫描所有磁盘存储。 如果您绝对需要跟踪过期的每个条目,那么您必须自己实现此功能,但这会影响您的表现。可能这就是Ehcache没有内置此功能的原因。