Каков максимальный размер по умолчанию для кеша Google Guava?

Для кэша Guava, созданного с помощью приведенного ниже кода, существует максимальный размер кеша, если он не установлен?

LoadingCache<String, String> loadingCache = CacheBuilder.newBuilder().build(new CacheLoader<String, String>() {
    @Override
    public String load(String key) throws Exception
    {
        return key.toUpperCase();
    }
});

В моем случае я действительно хочу кеш без верхней границы. Я использую кеш для хранения разрешений для зарегистрированных пользователей и выкалывает элементы из кеша при выходе пользователя или истечении срока действия сеанса.

Ответ 1

Кэш по умолчанию не ограничен: поскольку javadoc для CacheBuilder объясняет

Эти функции являются необязательными

и

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

Ответ 2

Простой ответ не является пределом, если ваш средний "по умолчанию" CacheBuilder.maximumSize() никогда не вызывается.

И я не думаю, что вашему приложению нужна стратегия выселения на основе размера. Когда пользовательские сессии истекают, просто удалите его из кеша (Cache.invalidate(key)).

И в верхнем регистре String не нужен кеш, вызов верхнего регистра напрямую намного проще и эффективнее кэша.