我有一个像这样配置的PERSISTENT缓存: -
<region name="stock-hist" refid="PARTITION_PERSISTENT" >
<region-attributes disk-store-name="myOverflowStore" disk- synchronous="false">
<partition-attributes local-max-memory="1024" />
<eviction-attributes>
<!-- Overflow to disk when 100 megabytes of data reside in the
region -->
<lru-memory-size maximum="100" action="overflow-to-disk"/>
</eviction-attributes>
</region-attributes>
问题是,当我存储8 GB的数据时,缓存由于内存过多而崩溃。我不希望这种情况发生。就像我需要数据在超过100MB时溢出到磁盘,但如果我尝试访问它,请将其恢复到缓存。我也想要持久缓存。
如果我在数据库后写,我怎么能在一段时间之后逐出数据。
这是如何运作的?
答案 0 :(得分:0)
这是一个不打算使用内存数据网格的用例。根据您描述的问题,您应该考虑使用关系数据库或者您应该增加内存以使用 IN-MEMORY 数据网格。溢流功能旨在作为安全阀,而不是用于正常的&#34;使用
我不明白你什么时候说'#34;它&#34;由于太多而导致的崩溃&#34;记忆,因为它显然没有足够的&#34;记忆。我怀疑没有足够的磁盘空间定义。如果您不这么认为,请检查显式和非隐式磁盘分配。
至于基于时间的驱逐/到期,请参阅&#34; PARTITION_HEAP_LRU&#34;在:http://gemfire.docs.pivotal.io/docs-gemfire/latest/reference/topics/region_shortcuts_reference.html