spring 未设置maximumSize时的Guava缓存最大元素数

hfsqlsce  于 2023-02-07  发布在  Spring
关注(0)|答案(1)|浏览(185)

我试图计算如果不指定任何最大大小该高速缓存可以容纳的元素数。
cacheWithoutSize可以包含多少个条目有上限吗?
Cache<String, Object> cacheWithoutSize = CacheBuilder.newBuilder() .build();
我通读了发布文档,找不到任何答案:下载代码:http:API公共/缓存/缓存构建器。

zzwlnbp8

zzwlnbp81#

扩展路易斯·瓦色尔曼的话...
我们假设缓存大小的绝对限制(条目数)是Integer.MAX_VALUE,比20亿多一点,在实际的缓存场景中,很可能在接近理论上的最大缓存大小之前就耗尽了堆内存。
例如,如果我们假设Long键Map到String值,每个键使用20字节,不包括开销,每个条目使用24字节,所以最大缓存将包含大约50 GiB的数据,很少有机器可以支持50+ GiB的堆分配,并且记住开销(例如该高速缓存数据结构本身)将使真实的内存使用量更大。

相关问题