2017-02-21 11 views
0

Guava CacheBuilder maximumSize() 및 maximumweight()에서 지정한 숫자가 계량자를 나타내는 지 계산하려고합니다. Guava maximumSize 또는 maximumWidth (캐시 메모리 크기 제한)

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

내가 그것을 밖으로 발로 시작하기 전에 내가 캐시에 천 다른 항목이있을 수 있다는 것을 의미하는 최대 크기로 지정 1000합니까, 내 코드에서 같은 것을 가지고 말 LRU (개체의 크기에 관계없이)? 이 경우 개체의 크기에 제한이 있습니까?

또는 1000이라는 의미는 1000MB (작업 메가 바이트가 맞습니까?)로 작업 할 수 있고 LRU를 실행하기 전에 최대 1000MB까지 저장할 수있는만큼 많은 캐시 개체를 가질 수 있습니까?

정확히 최대 무게는 무엇입니까?

Guava 캐시 메모리를 500MB로 제한하기위한 좋은 구성이 제공되면 감사하게 생각합니다.

+0

Java에서 모든 종류의 메모리 사용량 측정은 실제로 어렵습니다 (속도가 느릴 수 있음). 캐시가 노력하지 않습니다. –

답변

0

문서는 maximumSize(long)

캐시가 포함 할 수있는 최대 항목 수를 지정 말한다.

지정 500메가바이트, maximumWeight(long) 및 사용자 정의 Weigher으로 가능해야한다

같은 항목의 무게에 대한 단위가 없습니다

; 오히려 그들은 단순히 서로에 상대적입니다.