guava cache源码分析之1个小demo的引入

1:cache的总体框架

如下图,cache 接口是所有guava cache的最顶层接口,这里定义了对缓存操作的最基本方法。


1



2

2:从一个例子开始

     回想下,通常在工程中,我们使用缓存的时候大概要设置哪些参数呢?1:尺寸大小,设置合理的内存空间,防止无限制的增长内存 2:过期时间,对于缓存而言因为我们的内存资源很有限,所以一般要设置过期的时间,定时删除。3:失效策略,当缓存空间已满的时候,我们 是使用什么样的策略来添加后续的key,删除原来缓存中的哪个key。4:如果没从缓存中找到key,如何进行回源。

缓存配置代码如下:


缓存配置

demo

demo结果

注意:guava cache默认是使用lru-1算法,不能配置。

从上面的demo里,我们至少看到了3个在guava cache非常有用的对象,分别是CacheBuilder,CacheLoader以及Cache接口,后面的文章会具体对他们进行源码层面的解读和分析。

你可能感兴趣的:(guava cache源码分析之1个小demo的引入)