overflowToDisk:设置当内存存储达到 maxInMemory 限制时元素是否可以溢出到磁盘。
据我了解,如果 memoryStoresSize 未达到 maxElementsInMemory,它将不会写入磁盘。但好像不是这样的。
我有一个简单的缓存如下:
<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,即使内存大小非常小于 maxElementsInMemory。
memory size:2
disk size:186
memory size:2
disk size:186
memory size:3
disk size:186
memory size:3
disk size:186
甚至内存大小也小于磁盘大小。这怎么可能发生?或者我该如何配置它以按预期工作?
谢谢。