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);     
    } 
});

 

posted @ 2022-01-19 23:07  得好好活  阅读(218)  评论(0)    收藏  举报