2016-10-14 202 views
0

阿帕奇的Geode缓存溢出的配置我都可以这样来配置持久性高速缓存: -持久性数据

<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

这是一个不适用于内存数据网格的用例。根据您所描述的问题,您应该考虑使用关系数据库,或者您应该增加内存以使用数据网格内存。溢流功能用作安全阀,不用于“正常”使用。

我不明白当你说“it”因为“内存太多”而崩溃时,因为它显然没有“足够”的内存。我怀疑没有定义足够的磁盘空间。如果您认为不是,请检查您的显式磁盘分配而不是隐式磁盘分配。

至于基于时间的逐出/到期,请参阅“PARTITION_HEAP_LRU”的:http://gemfire.docs.pivotal.io/docs-gemfire/latest/reference/topics/region_shortcuts_reference.html

+0

我想的Geode允许将数据持久化。所以我试图使用它,我想要的是让数据在使用1GB内存后保存到磁盘。这对于数据库来说是不可能的。我不确定你是否理解我的问题,但是使用partition_persistent_overflow来获取该功能。我得到了它的工作 –