【问题标题】:Hazelcast - Oldest Entries Evicted FirstHazelcast - 最旧的条目首先被驱逐
【发布时间】:2016-08-05 10:08:19
【问题描述】:

我正在使用 hazelcast 存储对小时间窗口(可能是 30 到 50 分钟,但不超过 60 分钟)很重要的数据。条目越旧,它就越不重要,这意味着如果我们可以删除一些条目以避免 OutOfMemory 将是较旧的条目。

我将这些条目的 TTL 配置为 60 分钟,但是当内存不足时,我想可靠地首先删除最旧的条目,即使它们没有过期。

我检查了EvictionPolicy.LRU 的配置,但配置它我可以看到一些最近添加到地图的条目正在被驱逐。我想这是由于 here 解释的用于选择驱逐条目的采样算法。

是否存在涵盖此用例的分布式对象的任何实现?

【问题讨论】:

    标签: hazelcast distributed-objects evict


    【解决方案1】:

    从 Hazelcast 3.7 开始,您将能够定义 a custom eviction policy 并实现任何算法。 您可以找到示例here

    谢谢

    【讨论】:

    • 嘿,太好了,会检查的!是否预计 LRU 在某些情况下实现会驱逐最后添加的条目?我可以通过添加一个条目侦听器来看到这种行为,只是在添加或驱逐条目时打印一些东西,在某些情况下,我可以看到最近添加的条目被驱逐并且保持条目不被访问超过几个小时(使用hz 3.6.4) .
    • 在 3.7 版本中驱逐最后添加的条目应该不再是问题。请看这个:github.com/hazelcast/hazelcast/issues/4334
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多