Учитывают ли кэши Guava вес при выборе выселения?

В последней версии превосходной библиотеки Guava обновлен API-интерфейс кэширования. CacheBuilder теперь имеет метод maxmimumWeight() для принудительного ограничения максимального веса кеша. В javadoc указано:

Определяет максимальный вес записей, которые может содержать кэш. Масса определяется с помощью весов, указанных с весами, и использование этот метод требует соответствующего вызова весов перед вызовом построить (com.google.common.cache.CacheLoader).

Обратите внимание, что кэш может удалить запись до того, как будет превышено это ограничение.По мере того, как размер кеша приближается к максимальному, кэш вытесняет записи. которые с меньшей вероятностью будут использоваться снова. Например, кэш может удалить запись, потому что она не использовалась в последнее время или очень часто.

Когда кэшу необходимо удалить запись, будет ли он учитывать веса? Например, может быть лучше сохранить несколько записей малого веса, чем одну запись большого веса, если запись большого веса используется чаще, чем любой маленький элемент, но реже, чем все мелкие элементы вместе взятые.

7
задан Dave L. 29 March 2012 в 18:50
поделиться