guava cache学习

</pre>guava  cache 是本地缓存的一种实现,他与平常使用map 来实现本地缓存的不同之处就是 guava cache 可以让我们自己定义自己的缓存。</h4><h4><span style="font-weight: normal;"><span style="font-family:Microsoft YaHei;font-size:12px;">一  总体来说guava cache有两种实现方式:</span></span></h4><div><span style="font-family:Microsoft YaHei;font-size:12px;">第一种就是在定义cache 的时候就定义了数据的获取方式</span></div><div><span style="font-family:Microsoft YaHei;font-size:12px;">  </span></div><div><span style="font-family:Microsoft YaHei;font-size:12px;">        LoadingCache<String, String> cahceBuilder = CacheBuilder                .newBuilder()                .build(new CacheLoader<String, String>() {                    @Override                    public String load(String key) throws Exception {                        String strProValue = "hello " + key + "!";                        return strProValue;                    }                });</span></div><div><span style="font-family:Microsoft YaHei;font-size:12px;"></span></div><div><span style="font-family:Microsoft YaHei;font-size:12px;">第二种是在获取数据的时候在定义,这种会比较灵活</span></div><div><span style="font-family:Microsoft YaHei;font-size:12px;"></span></div><div><pre name="code" class="java"><span style="font-family:Microsoft YaHei;font-size:12px;">Cache<String, String> cache = CacheBuilder.newBuilder().maximumSize(1000).build();  
        String resultVal = cache.get("jerry", new Callable<String>() {  
            public String call() {  
                String strProValue="hello "+"jerry"+"!";                
                return strProValue;
            }  
        }); </span>


二  就是guava  cache 可以让我们自己定义缓存的一些特性  包括

       2.1失效时间的设置: 
           主要有按大小失效        方法是CacheBuilder.maximumSize(long)  ;
         基于时间的失效      expireAfterAccess(long, TimeUnit) 最后一次访问(读或者写)超过一定时间后失效。expireAfterWrite(long, TimeUnit) 最后一次                                          写(或者对象生成)超过一定时间后失效;
         基于引用的失效      CacheBuilder.weakKeys() 和CacheBuilder.weakValues()    key 的弱引用和value 的弱引用
         手动失效数据
    
  2.2  其他的使用
          可以转成map 来使用,方法是asmap() 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值