Mi piacerebbe usare le guaiave CacheBuilder
, ma non riesco a trovare alcun esempio esplicito su come implementarlo.Come usare guava CacheBuilder?
La documentazione affermano il seguente codice:
LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder()
.maximumSize(1000)
.build(
new CacheLoader<Key, Graph>() {
public Graph load(Key key) throws AnyException {
return createExpensiveGraph(key);
}
});
Domanda: che cosa è questo metodo createExpensiveGraph(key)
? È un metodo che restituisce una mappatura HashMap<Key, Value>
? Cosa devo fare con il valore key
?
Oppure posso anche solo restituire un List<String>
in questo metodo senza dover utilizzare il valore key
in alcun modo?
Vedere l'api di CacheLoader e caricare il metodo che fornisce un chiaro significato del motivo per cui viene utilizzato il metodo? http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheLoader.html#load(K) createExpensiveGraph non restituisce hashMap restituisce invece un oggetto di Graph. –
È qualsiasi funzione tu stia cercando di memorizzare nella cache il risultato di. –