如何在ehcache中配置maxEntriesLocalHeap?

时间:2014-04-06 09:28:55

标签: spring caching ehcache

ehcache doc(http://ehcache.org/documentation/configuration/cache-size)将maxEntriesLocalHeap描述为

  

缓存可以在本地堆内存中使用的最大缓存条目数或字节数,或者在CacheManager级别设置时   (仅限maxBytesLocalHeap),一个可用于所有缓存的本地池   那个CacheManager。每个缓存或在每个缓存都需要此设置   CacheManager级别。

这是否意味着对于此配置:

<cache
        name="myCache"
        maxEntriesLocalHeap="5000"
        eternal="false"
        overflowToDisk="false"
        timeToLiveSeconds="10000"
        memoryStoreEvictionPolicy="FIFO" />

可以添加到缓存的最大对象数为5000.这些对象可以包含多个子对象,但只添加顶级父对象作为条目。因此,如果每个对象都引用了另外两个对象,那么maxEntriesLocalHeap对象的数量可能会增加到15000(此时最旧的对象会在添加新对象时被换出)。这是对的吗?

1 个答案:

答案 0 :(得分:6)

是。

maxEntriesLocalHeap强制实施仅计算您在缓存中存储的键/值对的数量。作为用户,您可以很好地理解保留每个条目的堆开销,并确保配置的Java堆可以应对此负载。