学习Guava Cache(二)Guava caches(2)CacheStats类

Guava Cache 提供了一种非常简便的方式,用于收集缓存执行的统计信息,需要注意的是,跟踪缓存操作将会带来性能的损失,想要收集缓存的信息,我们只需要在使用CacheBuilder的时候声明我们想要收集统计信息即可:

final LoadingCache<String, String> cache =
        CacheBuilder.newBuilder()
            .recordStats()
            .concurrencyLevel(2)
            .expireAfterWrite(100, MILLISECONDS)
            .removalListener(removalListener)
            .maximumSize(5000)
            .build(countingIdentityLoader);

上面的代码,我们通过建造者模式构造了一个LoadingCache实例,想要启用缓存信息的统计,我们唯一要做的就是在builder里面通过recordStats()注册,而想要获取统计的信息,我们只需要通过Cache或LoadingCache调用stats()方法,就将返回一个CacheStats实例,通过CacheStats实例可以获取到需要的统计信息,来看接下来的例子:

CacheStats stats = cache.stats();

类的详细信息

学习Guava Cache(二)Guava caches(2)CacheStats类_第1张图片

属性

hitCount :命中的次数
missCount:未命中次数
requestCount:请求次数
hitRate:命中率
missRate:丢失率
loadSuccessCount:成功加载新值的次数
loadExceptionCount:失败加载新值的次数
totalLoadCount:总条数
loadExceptionRate:失败加载新值的比率
totalLoadTime:全部加载时间
evictionCount:丢失的条数

方法

averageLoadPenalty():加载新值所花费的平均时间
plus(CacheStats other):返回一个新的表示当前CacheStats与传入CacheStats之间总计的CacheStats实例。
minus(CacheStats other):返回一个新的表示当前CacheStats与传入CacheStats之间差异的CacheStats实例。

你可能感兴趣的:(中间件,缓存)