在ehcache配置中,maxElementsInMemory的性能是否太大了?

Mar*_*arc 6 java hibernate ehcache

只是想知道设置maxElementsInMemory对性能的影响是否比实际使用的高得多?例如,最大10,000,仅使用100.

ehcache.xml中

<defaultCache
    eternal="false"
    overflowToDisk="false"
    maxElementsInMemory="10000"
    timeToIdleSeconds="7200"
    timeToLiveSeconds="0"/>
Run Code Online (Sandbox Code Playgroud)

上下文:我正在使用带有hibernate的ehcache,我希望缓存一个表(所有实体)的所有记录.从一个客户到另一个客户,该表中的记录数量不同,因此很难设置精确的最大值.

谢谢!

Tom*_*icz 5

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

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