我对元素的“overflowToDisk”属性有一些疑问?
1)我读到了这个URL那:
overflowToDisk 设置当内存存储达到最大限制时元素是否可以溢出到磁盘。
上面的“内存”是指为运行EHCACHE的Java进程分配的JVM内存,或者是否有参数指定Cache内存大小?
2) 当运行 EHCACHE 的 Poces 由于某种原因终止时,该磁盘是否会被清除并且缓存中的所有内容都会消失?
最佳答案
当内存存储中的元素数量超过 maxElementsInMemory 时,元素就会开始溢出到磁盘。以下示例创建一个缓存,在内存中存储 1000 个元素,如果需要存储更多元素,则在磁盘上最多存储 10000 个元素:
<cache name="cacheName"
maxElementsInMemory="1000"
maxElementsOnDisk="10000"
overflowToDisk="true"
timeToIdleSeconds="..."
timeToLiveSeconds="...">
</cache>
对于第二个问题,请查看diskPercient参数。如果设置为 true,当您停止 JVM 时,Ehcache 会将您的数据存储在磁盘上。以下示例演示了这一点:
<cache name="cacheName"
maxElementsInMemory="1000"
maxElementsOnDisk="10000"
overflowToDisk="true"
diskPersistent="true"
timeToIdleSeconds="..."
timeToLiveSeconds="...">
</cache>
关于caching - overFlowToDisk何时在EHCACHE中被激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645143/