ignite - Apache Ignite 自定义驱逐策略是否根据缓存属性值驱逐记录
问题描述
我们可以根据缓存属性应用自定义的堆外驱逐策略吗?(例如 - 假设我们将 Employee POJO 对象存储在状态属性值为 true/false 的缓存中,是否可以根据状态属性从缓存中逐出记录?)
根据 Apache Ignite 文档,我们只能自定义堆上驱逐策略(通过 EvictionPolicy 接口)。是否也可以自定义 PageEvictionMode?
// 为这个区域启用 RANDOM_2_LRU 驱逐。regionCfg.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU);
解决方案
页面驱逐算法比堆上条目的算法复杂得多。不幸的是,因此,它的可配置性较低。
DataPageEvictionMode
是一个枚举。它只有三个可能的值DISABLED
:RANDOM_LRU
和RANDOM_2_LRU
。
您可以通过以下链接找到它们的描述: https ://apacheignite.readme.io/docs/evictions
基于条目属性的页面驱逐是不可能的,因为条目以几乎随机的顺序分布在页面之间。您不能告诉页面内存删除某些特定条目。只能驱逐整个页面。
推荐阅读
- jinja2 - Salt 命令 archive.cmd_unzip 失败,模板类型为 jinja
- javascript - Vuetify 对话框未在已安装的事件发出 vue 时打开
- python-3.x - 无法加载在 Gensim-pickle 相关错误中训练的模型
- r - 采用响应变量和预测变量并生成带有简单回归线的散点图的函数
- flutter - 无法创建 moor_database.g.dart 文件
- c - 使用 OpenCL 对大型数据集进行增量并行求和
- c# - How to get an array variable out of protected function and transfer it to another .cs file in C#
- angular - Push elements to BehavioSubject of array. Typescript Angular
- python - Python - unable to read a large file
- c# - Tasks being run synchronous