Chciałbym użyć guavas CacheBuilder
, ale nie mogę znaleźć żadnego wyraźnego przykładu jak to zaimplementować.Jak korzystać z guava CacheBuilder?
Docs podać następujący kod:
LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder()
.maximumSize(1000)
.build(
new CacheLoader<Key, Graph>() {
public Graph load(Key key) throws AnyException {
return createExpensiveGraph(key);
}
});
Pytanie: Jaka jest ta metoda createExpensiveGraph(key)
? Czy jest to metoda, która zwraca mapowanie HashMap<Key, Value>
? Co mam zrobić z wartością key
?
Czy mogę też po prostu zwrócić w tej metodzie List<String>
bez konieczności używania wartości key
w jakikolwiek sposób?
Zobacz api metody CacheLoader i metody ładowania, która wyjaśnia, dlaczego użyto tej metody? http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheLoader.html#load(K) createExpensiveGraph nie zwraca hashMap zamiast zwracać obiekt wykresu. –
Jest to funkcja, której próbujesz buforować wynik. –