Apache Ignite Custom Eviction Policy是否根据缓存属性值

时间:2018-06-19 06:06:22

标签: ignite

我们可以根据缓存属性应用自定义的堆外驱逐策略吗? (例如 - 假设,我们将Employee POJO对象存储在status属性值为true / false的缓存中,是否可以根据status属性从缓存中逐出记录?)

根据Apache Ignite文档,我们只能自定义堆上驱逐策略(通过EvictionPolicy接口)。是否可以自定义PageEvictionMode?

//为此区域启用RANDOM_2_LRU驱逐。 regionCfg.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU);

1 个答案:

答案 0 :(得分:1)

页面逐出算法比堆栈条目复杂得多。不幸的是,因此,它的可配置性较差。

DataPageEvictionMode是一个枚举。它只有三个可能的值:DISABLEDRANDOM_LRURANDOM_2_LRU

您可以通过以下链接找到他们的描述: https://apacheignite.readme.io/docs/evictions

基于条目属性的页面驱逐是不可能的,因为条目以几乎随机的顺序分布在页面中。您无法告诉页面内存删除某些特定条目。只有整个页面才能被驱逐。