cachebuilder

CacheBuilder作为LoadingCache 与 Cache实例的创建者,具有以下特征:
1、自动载入键值至缓存;
2、当缓存器溢出时,采用最近最少使用原则进行替换。
3、过期规则可基于最后读写时间。
4、设置键值引用级别。
5、元素移出通知。
6、缓存访问统计。

LoadingCache<String, Integer> cache = CacheBuilder.newBuilder()
                      .maximumSize(10)
                      .expireAfterWrite(10, TimeUnit.SECONDS)
                      .build(
                            new CacheLoader<String, Integer>() {
                                   public Integer load(String key) throws Exception {
                                          return loadKey(key);
                                   }
                            });

通过recordStats()函数,还可开启缓存的访问统计,通过调用status()方法,返回包含统计信息的CacheStats对象,可以获取缓存的很多统计信息:hitCount(命中成功次数),missCount(命中失败次数),loadSuccessCount(载入成功次数),loadExceptionCount(载入失败次数),totalLoadTime(总载入时间),evictionCount(移除次数),requestCount() (访问次数),hitRate()(命中成功率),missRate()(命中失败率),loadCount()(载入次数)等。

生成LocalManualCache基于builder生成 LocalCache

你可能感兴趣的:(java框架)