Динамически изменить размер кэша кофеина - PullRequest
0 голосов
/ 17 октября 2019

Я в настоящее время мигрирую с ConcurrentLinkedHashMap на Кофеин , и я застрял при попытке найти эквивалентную функцию setCapacity

  _myCache.setCapacity(newCacheSize);

Есть ли способ сделать то же самое в кофеине?

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

1 Ответ

1 голос
/ 17 октября 2019

Эти ручки скрыты в cache.policy () , поскольку они зависят от того, как был создан кэш. Таким образом, могут быть предоставлены многие грязные методы без усложнения ядра apis.

cache.policy().eviction().ifPresent(eviction -> {
  eviction.setMaximum(newCacheSize);
});
...