Infinispan驱逐策略

时间:2013-11-28 10:20:42

标签: infinispan

我将驱逐max-entries定为2000,策略为LRIS。但是,在达到2000年的上限之前就已开始驱逐了。所以,我的问题是,这里是否有某种记忆约束导致这种驱逐策略有效?如果是,它是如何以及在何处指定的?

目前,我已将驱逐策略改为无。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

Infinispan尚未提供任何基于记忆的驱逐。

Infinispan使用并发哈希映射来分割段中的哈希空间(a.k.a.桶),并且每个段都驱逐它独立拥有条目。

因此,当您在内部设置maxEntries=2000时,并发哈希映射正在创建容量为maxEntries/numberSegments的段。当段已满时,将在该段中触发逐出并删除条目。

在您的情况下,在您达到2000个条目之前,某些细分已快速填满。

您可以尝试以下操作:

  • 增加并发级别(<locking concurrencyLevel="yyy">,默认为16)。段数随着并发级别而增加
  • 尝试实施更好的hashCode()功能,以便更好地传播密钥。

干杯。