guava cache 浅读(配置详解)

简单记录一下

public class CacheTest {

    public static void main(String[] args){

        class MyCacheLoader extends CacheLoader {

            @Override
            public Object load(Object key) throws Exception {
                return null;
            }
        }

        Cache<String, String> build = CacheBuilder.newBuilder()
                .refreshAfterWrite(1000, TimeUnit.SECONDS)//在操作(新增,修改)后,经过固定的时间自动刷新,定义在{@link LoadingCache#fresh},调用{@link CacheLoader#reload}刷新
                .expireAfterAccess(1000,TimeUnit.SECONDS)//在操作(新增,修改,查询)后,经过固定的时间过期,过期自动删除
                .expireAfterWrite(1000,TimeUnit.SECONDS)//在操作(新增,修改)后,经过固定的时候过期,过期自动删除
                .initialCapacity(100000)//初始化大小
                .concurrencyLevel(4)//指定并发更新的数量
                .maximumSize(160000)//最大容量,当容量接近最大容量的时候,就会自动删除最近最少使用的一条,当容量是0的时候,缓存后立即删除
//                .maximumWeight(1)//指定缓存可以包含的条目的最大权重
                .build(new MyCacheLoader());

        build.put("1","12345677654321");

        String ifPresent = build.getIfPresent("1");
        System.out.println(ifPresent);

    }
}
发布了78 篇原创文章 · 获赞 29 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/lvhonglei1987/article/details/103782626
今日推荐