Caffeine 是基于Java 8,基于进程内存的的高性能缓存库。
Caffeine的内部实现机制可以参考相关文档,我们现在学习如何使用,其实在仔细阅读Caffeine暴露的API文档后,也能大概猜测出它是怎么实现了。
首先仔细观察Caffeine类的说明,这是一个工厂类,提供以不同构建策略生成Cache容器的方法。
一个组合了以下特性的Cache、LoadingCache、AsyncCache和AsyncLoadingCache实例的构造器(Builder)。
这些功能都是可选的,可以都使用它们或者都不使用它们来创建缓存。默认情况下,Caffeine创建的缓存实例不会执行任何类型的回收。
应用案例:
LoadingCache<Key, Graph> graphs = Caffeine.newBuilder()
.maximumSize(10_000)
.expireAfterWrite(Duration.ofMinutes(10))
.removalListener((Key key, Graph graph, RemovalCause cause) ->
System.out.printf("Key %s was removed (%s)%n", key, cause))
.build(key -> createExpensiveGraph(key));
<< · Back Index ·>>
上一篇
下一篇