English 中文(简体)
圆盘磁盘怎么用在 ehcache 上呢?
原标题:How overflowToDisk works in ehcache?

溢出ToDisk: 设置当存储存储存储达到最大记忆限制时元素是否可溢出到磁盘 。

据我所知,如果内存空间不能达到最大元素记忆,它不会写入磁盘。但看起来并非如此。

我有一个简单的缓存,如下:

<cache name="cache" maxEntriesLocalHeap="100000" eternal="true"  
 overflowToDisk="true" statistics = "true">
    <terracotta clustered="false"/>
</cache>

我在从缓存处获取值时打印了统计数据。

System.out.println("memory size:" + cache.getMemoryStoreSize());
System.out.println("disk size:" + cache.getDiskStoreSize());

但输出显示磁盘大小不是 0 即使内存大小远小于最大 E元素In memory 。

memory size:2
disk size:186
memory size:2
disk size:186
memory size:3
disk size:186
memory size:3
disk size:186

即使是内存大小也小于磁盘大小。 怎么会发生这种情况? 或者我如何配置它来像预期的那样工作?

谢谢

问题回答

Ehcache自2.6版以来改变了其储存模式,详情见