7

只是想知道将 maxElementsInMemory 设置为远高于实际使用的值是否会对性能产生影响?例如,最多 10,000 个并且仅使用 100 个。

ehcache.xml

<defaultCache
    eternal="false"
    overflowToDisk="false"
    maxElementsInMemory="10000"
    timeToIdleSeconds="7200"
    timeToLiveSeconds="0"/>

上下文:我将 ehcache 与休眠一起使用,并且我希望缓存表的所有记录(所有实体)。从一个客户到另一个客户,该表中的记录数会有所不同,因此很难设置精确的最大值。

谢谢!

马克

4

1 回答 1

5

不,没有。这只是一个最大值。如果您的缓存仅包含 100 个项目,您将支付包含 100 个元素的地图的成本。上限与这里无关。

您可以安全地使用更高的限制(下面是一个简单的ConcurrentHashMap),尽管很难证明这样的选择是合理的。

于 2012-05-31T18:44:03.110 回答