
Caffeine
文章平均质量分 79
阿湯哥
用心生活!爱每一天!
展开
-
Caffeine - Performance - Efficiency
Caffeine - Performance - Efficiency效率效率翻译 2019-11-20 12:40:29 · 406 阅读 · 0 评论 -
Caffeine - Performance - Design
Caffeine - Performance - Design设计设计翻译 2019-11-19 18:21:48 · 213 阅读 · 0 评论 -
Caffeine - Caches - FAQ
Caffeine - Caches - FAQ常见问题固定条目常见问题固定条目固定条目是不能被剔除策略移除的条目。这在条目是状态资源时比较有用,比如锁,它只有在客户端使用完毕后才能被丢弃。在这种情况下剔除条目或者重新计算都将导致资源泄露。通过使用权重并将条目评估为零权重的方式,可以将条目排除在最大容量剔除范围外。这样,该条目不会计入总容量并且会被最大容量剔除忽略。必须定义一个用以评估该条目...翻译 2019-11-11 11:28:12 · 628 阅读 · 0 评论 -
Caffeine - Caches - Testing
Caffeine - Caches - Testing测试测试FakeTicker ticker = new FakeTicker(); // Guava's testlibCache<Key, Graph> cache = Caffeine.newBuilder() .expireAfterWrite(10, TimeUnit.MINUTES) .executo...翻译 2019-11-10 22:44:36 · 221 阅读 · 0 评论 -
Caffeine - Caches - Policy
Caffeine - Caches - Policy策略基于容量的策略基于时间的策略策略缓存支持的策略是在构建时确定的,在运行时,可以坚持和调整这些配置。这些策略是通过Optional获得的,以指示缓存是否支持该功能。基于容量的策略cache.policy().eviction().ifPresent(eviction -> { eviction.setMaximum(2 * e...翻译 2019-11-09 23:46:49 · 850 阅读 · 0 评论 -
Caffeine - Caches - Cleanup
Caffeine - Caches - Cleanup清理清理默认情况下,Caffeine不会自动执行清理和元素剔除,也不会在条目过期后立即执行清理和元素剔除。取而代之的,它仅在写操作之后执行少量的维护工作,如果写操作很少,它会偶尔在读操作之后执行维护工作。如果你的缓存吞吐量很高,你不必担心执行缓存维护以清理过期条目等。如果缓存的读写操作很少,你可能希望采用下文所述的方式,启用一个外部线程,在...翻译 2019-11-09 22:27:47 · 2752 阅读 · 0 评论 -
Caffeine - Caches - Statistics
Caffeine - Caches - Statistics统计统计Cache<Key, Graph> graphs = Caffeine.newBuilder() .maximumSize(10_000) .recordStats() .build();通过使用Caffeine.recordStats(),可以打开统计信息收集。Cache.stats(...翻译 2019-11-08 18:12:55 · 1406 阅读 · 0 评论 -
Caffeine - Caches - Writer
Caffeine - Caches - Writer写入器可能的用例写入模式分层同步监听器参考写入器LoadingCache<Key, Graph> graphs = Caffeine.newBuilder() .writer(new CacheWriter<Key, Graph>() { @Override public void write(Key ke...翻译 2019-11-07 17:53:36 · 1107 阅读 · 1 评论 -
Caffeine - Caches - Refresh
Caffeine - Caches - Refresh刷新刷新LoadingCache<Key, Graph> graphs = Caffeine.newBuilder() .maximumSize(10_000) .refreshAfterWrite(1, TimeUnit.MINUTES) .build(key -> createExpensive...翻译 2019-11-07 14:22:11 · 1679 阅读 · 0 评论 -
Caffeine - Caches - Removal
移除监听器会通过Executor异步执行。默认的执行器是ForkJoinPool.commonPool(),您可以通过Caffeine.executor(Executor)重写执行器。当监听操作必须与移除操作同步执行时,使用CacheWriter代替。为缓存指定移除监听器,以便在条目移除时执行某些操作。请注意,移除监听器抛出的所有异常将写入日志(通过Logger)并且被吞掉。在任何时候,您都可以显式的使缓存条目无效,而不必等待条目被剔除。翻译 2019-11-07 11:28:44 · 1287 阅读 · 1 评论 -
Caffeine - Caches - Eviction
EvictionCaffeine提供了三种类型的提出方式:基于容量的剔除、基于时间的剔除和基于引用的剔除。基于容量的剔除// Evict based on the number of entries in the cacheLoadingCache<Key, Graph> graphs = Caffeine.newBuilder() .maximumSize(10_00...翻译 2019-11-05 16:39:39 · 1033 阅读 · 0 评论 -
Caffeine - Caches - Population
填充策略Caffeine提供了4中填充策略:手动加载、同步加载以及异步变体(异步手工、异步加载)。手动加载Cache<Key, Graph> cache = Caffeine.newBuilder() .expireAfterWrite(10, TimeUnit.MINUTES) .maximumSize(10_000) .build();// Loo...翻译 2019-11-05 16:38:38 · 186 阅读 · 0 评论 -
Caffeine - Home
Caffeine is a high performance Java 8 based caching library providing a near optimal hit rate.A Cache is similar to ConcurrentMap, but not quite the same. The mostfundamental difference is that a...翻译 2019-11-05 16:37:55 · 547 阅读 · 1 评论