读书人

Guava Cache 创造

发布时间: 2012-12-22 12:05:06 作者: rapoo

Guava Cache 创建

guava是谷歌几个java核心类库的集合,包括集合、缓存、原生类型、并发、常用注解、基本字符串操作和I/O等等。

?

这篇文章主要说明下其中缓存部分的用法。这文章主要是我结合wiki中内容学习的一个小结:

?

wiki的地址如下,但是需要fan qiang访问:?https://code.google.com/p/guava-libraries/wiki/CachesExplained

?

基本上可以通过两种方式来创建cache:

?

cacheLoader

?

callable callback

?

通过这两种方法创建的cache,和通常用map来缓存的做法比,不同在于,这两种方法都实现了一种逻辑——从缓存中取key X的值,如果该值已经缓存过了,则返回缓存中的值,如果没有缓存过,可以通过某个方法来获取这个值。

?

但不同的在于cacheloader的定义比较宽泛,是针对整个cache定义的,可以认为是统一的根据key值load value的方法。

?

而callable的方式较为灵活,允许你在get的时候指定。

?

下面是两种方法的例子:

?

首先是基于cacheloader的方法

?

?其次是基于实现callable的方法:

? 

读书人网 >编程

热点推荐