5
我想使用番石榴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
值?
查看CacheLoader和load方法的api,它给出了为什么使用该方法的明确含义? http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheLoader.html#load(K) createExpensiveGraph不会返回hashMap,而是返回Graph的一个对象。 –
这是你试图缓存结果的任何函数。 –