【发布时间】:2023-03-11 00:17:01
【问题描述】:
Ehcache 文档 (https://www.ehcache.org/documentation/2.8/configuration/cache-size.html) 将 maxEntriesLocalHeap 描述为:
缓存可以在本地堆内存中使用的缓存条目或字节的最大数量,或者在 CacheManager 级别设置时 (仅限maxBytesLocalHeap),一个本地池可供所有缓存下 那个缓存管理器。每个缓存都需要此设置或在 CacheManager 级别。
这是否意味着对于这个配置:
<cache
name="myCache"
maxEntriesLocalHeap="5000"
eternal="false"
overflowToDisk="false"
timeToLiveSeconds="10000"
memoryStoreEvictionPolicy="FIFO" />
可以添加到缓存的最大对象数为 5000。这些对象可以包含多个子对象,但仅将顶级父对象添加为条目。因此,如果每个对象都引用了其他两个对象,那么在后台,maxEntriesLocalHeap 对象的数量可能会增长到 15000(此时最旧的对象会随着新对象的添加而被换出)。这是正确的吗?
【问题讨论】: