gpt4 book ai didi

java - infinispan hibernate 缓存驱逐

转载 作者:行者123 更新时间:2023-12-01 22:09:58 26 4
gpt4 key购买 nike

我正在使用 Infinispan 6.0.0 和 Hibernate 4.3.6。

我的配置是:

    <!-- Default configuration is appropriate for entity/collection caching. -->
<namedCache name="entity">
<clustering mode="invalidation">
<stateTransfer fetchInMemoryState="false" timeout="20000"/>
<sync replTimeout="20000"/>
</clustering>
<locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
lockAcquisitionTimeout="15000" useLockStriping="false"/>
<!-- Eviction configuration. WakeupInterval defines how often the eviction thread runs, in milliseconds.
0 means the eviction thread will never run. A separate executor is used for eviction in each cache. -->
<eviction maxEntries="${infinispan.maxEntries:10000}" strategy="LRU"/>
<expiration maxIdle="${infinispan.maxIdle:-1}" wakeUpInterval="5000"/>
<!-- <transaction transactionMode="TRANSACTIONAL" autoCommit="false"
lockingMode="OPTIMISTIC"/> -->
</namedCache>

系统属性未设置,因此应用默认值(10.000,-1)。

据我了解,当未达到 maxEntries 时,绝不应该发生驱逐。

对于我的一些实体,缓存条目在添加到缓存后很快就会被删除。添加只是一个查询,它返回大量这些对象(< 1000)。这些对象随后不会更改(因此不会发生失效)。

那么是什么原因导致 infinispan 从缓存中删除对象呢?

谢谢

最佳答案

我怀疑您遇到的问题是 Infinispan 7.2.x 之前的版本,驱逐是在段级别完成的,因此如果段大小达到其限制(这是 maxEntries 的一小部分),那么它就会启动驱逐。该问题已在 Infinispan 7.2.x 中得到解决,如所述 here 。您应该尝试使用 Infinispan 7.2.x,它应该可以与 Hibernate 4.3 配合使用。

关于java - infinispan hibernate 缓存驱逐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com