Guava maximumSize或maximumWeight用于限制高速缓存大小

时间:2017-02-21 09:58:08

标签: java spring caching guava

我正在试图找出你在Guava CacheBuilder maximumSize()和maximumweight()中指定的数字,weigher表示。

说我的代码中有这样的东西,

Cache<String, Object> programCache = CacheBuilder.newBuilder()
.maximumSize(1000)
.build();

我指定为最大大小的1000是否意味着在开始踢出LRU之前我可以在缓存中有一千个不同的条目(无论对象的大小是多少)?如果是这种情况,对象的大小是否有限制?

或者1000意味着,我有一个1000mb(MB是正确的吗?)可以使用,我可以拥有尽可能多的高速缓存中的对象,因为我想要在开始踢出LRU之前达到1000mb? / p>

然后究竟什么是最大重量?

赞赏是否提供了一些良好的配置来限制500MB的番石榴缓存。

1 个答案:

答案 0 :(得分:0)

文档说maximumSize(long)

  

指定缓存可能包含的最大条目数。

maximumWeight(long)和自定义Weigher应该可以指定500MB,如

  

入场砝码没有单位;相反,他们只是相对于彼此。