Google Guava Cache

来源:互联网 发布:淘宝美工设计软件 编辑:程序博客网 时间:2024/05/21 15:36

项目中需要缓存一些http请求返回的业务代码。使用分布式缓存的Redis可以达到目的,分布式缓存的优势在于可以cache大量的数据,统一操作,但我们的业务代码并不太多,可以使用更简单的本地缓存来实现,在架构师的建议下,了解到Guava Cache。本地缓存是单机下和应用程序共享内存,在cache数据量不大的情况下,访问速度要比分布式的快,毕竟少了网络访问。

这里有一篇别人写的很详细的介绍Guava Cache的文章,地址:http://ifeve.com/google-guava-cachesexplained/

简单来说,Guava Cache提供了CacheLoader和Callable两种创建缓存的方式,思路都是根据key先去缓存中查找,有,就返回;没有,就根据预先定义的方式计算得到值,放入缓存,然后返回。两者的区别是,CacheLoader定义的计算方式比较通用,而Callable可以作为get方法的入参,灵活的设定计算方式来覆盖默认的计算方式。

既然是本地缓存,就不能让缓存的内容一致增长下去,Guava Cache提供了三种回收策略:1)设置缓存的条数上线或权重上线;2)定时回收 ; 3)基于引用回收。

细节就看上面链接的那篇文章吧。

0 0
原创粉丝点击