guava工具之cache缓存
1、pom
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
2、cache
// 方式一
LoadingCache<Object, Graph> cache = CacheBuilder.newBuilder()
.maximumSize(10000) // 大小
.expireAfterWrite(10, TimeUnit.SECONDS) // 过期时间
.build(new CacheLoader<Object, Object>() {
@Override
public Graph load(Graph o) throws Exception {
return createExpensiveGraph(key);
}
});
Object value = cache.get("key");
// 方式2
Cache<String, Object> cache = CacheBuilder.newBuilder().maximumSize(1000).build();
Object value = cache.get("key", new Callable<Object>() {
public Object call() {
createExpensiveGraph(key);
}
});

浙公网安备 33010602011771号