Я хотел бы использовать guavas CacheBuilder
, но не могу найти явного примера, как реализовать это.Как использовать guava CacheBuilder?
Документы сформулируют следующий код:
LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder()
.maximumSize(1000)
.build(
new CacheLoader<Key, Graph>() {
public Graph load(Key key) throws AnyException {
return createExpensiveGraph(key);
}
});
Вопрос: что это createExpensiveGraph(key)
метода? Это метод, который возвращает отображение HashMap<Key, Value>
? Что я должен делать с значением key
?
Или я могу просто вернуть List<String>
в этом методе, не имея значения key
?
См. Api метода CacheLoader и загрузки, который дает четкое представление о том, почему этот метод используется? http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheLoader.html#load(K) createExpensiveGraph не возвращает hashMap, а возвращает объект Graph. –
Это какая-то функция, которую вы пытаетесь кэшировать. –