我将驱逐max-entries定为2000,策略为LRIS。但是,在达到2000年的上限之前就已开始驱逐了。所以,我的问题是,这里是否有某种记忆约束导致这种驱逐策略有效?如果是,它是如何以及在何处指定的?
目前,我已将驱逐策略改为无。
任何帮助将不胜感激。
答案 0 :(得分:3)
Infinispan尚未提供任何基于记忆的驱逐。
Infinispan使用并发哈希映射来分割段中的哈希空间(a.k.a.桶),并且每个段都驱逐它独立拥有条目。
因此,当您在内部设置maxEntries=2000
时,并发哈希映射正在创建容量为maxEntries/numberSegments
的段。当段已满时,将在该段中触发逐出并删除条目。
在您的情况下,在您达到2000个条目之前,某些细分已快速填满。
您可以尝试以下操作:
<locking concurrencyLevel="yyy">
,默认为16)。段数随着并发级别而增加hashCode()
功能,以便更好地传播密钥。干杯。