EvictionPolicy什么时候开始删除数据?它是如何工作的?

问题描述 投票:0回答:1

我在我的 CacheConfiguration 中使用 LruEvictionPolicyFactory 就像吹

CacheConfiguration<K, V> cacheCfg = new CacheConfiguration<>();
cacheCfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
cacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
cacheCfg.setPartitionLossPolicy(PartitionLossPolicy.READ_WRITE_SAFE);
cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.PRIMARY_SYNC);
cacheCfg.setEvictionPolicyFactory(new LruEvictionPolicyFactory<>(200000));

我像这样使用 DataRegionConfig

 <bean class="org.apache.ignite.configuration.DataRegionConfiguration">      
    <property name="initialSize" value="#{512L * 1024 * 1024}"/>
    <property name="maxSize" value="#{3 * 1024L * 1024 * 1024}"/>
    <property name="pageEvictionMode" value="RANDOM_LRU"/>
    <property name="evictionThreshold" value="0.9"/>
    <property name="metricsEnabled" value="true"/>
    <property name="persistenceEnabled" value="false"/>
 </bean>

但是我可以在缓存中看到远远超过2000000条记录,有时,我可以在缓存中看到800000条记录

如何控制缓存中的数据大小以避免一个缓存使用太多内存

ignite
1个回答
0
投票

根据此文档页面,您的数据区域配置似乎或多或少是正确的。我建议使用

RANDOM_2_LRU
并配置数据区域名称以将其用作参考。

 <bean class="org.apache.ignite.configuration.DataRegionConfiguration">      
    <property name="initialSize" value="#{512L * 1024 * 1024}"/>
    <property name="name" value="region_name"/>
    <property name="maxSize" value="#{3 * 1024L * 1024 * 1024}"/>
    <property name="pageEvictionMode" value="RANDOM_LRU"/>
    <property name="evictionThreshold" value="0.9"/>
    <property name="metricsEnabled" value="true"/>
    <property name="persistenceEnabled" value="false"/>
 </bean>

反过来,您的

CacheConfiguration
不包含 dataRegionName 参数。例如:

CacheConfiguration<K, V> cacheCfg = new CacheConfiguration<>();
cacheCfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
cacheCfg.setRebalanceMode(CacheRebalanceMode.ASYNC);
cacheCfg.setPartitionLossPolicy(PartitionLossPolicy.READ_WRITE_SAFE);
cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.PRIMARY_SYNC);
cacheCfg.setDataRegionName("region_name");
© www.soinside.com 2019 - 2024. All rights reserved.