1:cache的總體框架
如下圖,cache 接口是所有g(shù)uava cache的最頂層接口,這里定義了對緩存操作的最基本方法。
1
2
2:從一個例子開始
? ? ?回想下,通常在工程中,我們使用緩存的時候大概要設(shè)置哪些參數(shù)呢?1:尺寸大小,設(shè)置合理的內(nèi)存空間,防止無限制的增長內(nèi)存 2:過期時間,對于緩存而言因為我們的內(nèi)存資源很有限,所以一般要設(shè)置過期的時間,定時刪除。3:失效策略,當緩存空間已滿的時候,我們 是使用什么樣的策略來添加后續(xù)的key,刪除原來緩存中的哪個key。4:如果沒從緩存中找到key,如何進行回源。
緩存配置代碼如下:
緩存配置
demo
demo結(jié)果
注意:guava cache默認是使用lru-1算法,不能配置。
從上面的demo里,我們至少看到了3個在guava cache非常有用的對象,分別是CacheBuilder,CacheLoader以及Cache接口,后面的文章會具體對他們進行源碼層面的解讀和分析。