万字详解本地缓存之王 Caffeine
点击上方 Java后端 , 选择 设为星标 优质文章,及时送达 Alben|https://albenw.github.io/posts/a4ae1aa2/ 排版公众号:JavaGuide 概要 Caffeine [1] 是一个高性能,高命中率,低内存占用,near optimal 的本地缓存,简单来说它是 Guava Cache 的优化加强版,有些文章把 Caffeine 称为“新一代的缓存”、“现代缓存之王”。 本文将重点讲解 Caffeine 的高性能设计,以及对应部分的源码分析。 与 Guava Cache 比较 如果你对 Guava Cache 还不理解的话,可以点击 这里 [2] 来看一下我之前写过关于 Guava Cache 的文章。 大家都知道,Spring5 即将放弃掉 Guava Cache 作为缓存机制,而改用 Caffeine 作为新的本地 Cache 的组件,这对于 Caffeine 来说是一个很大的肯定。为什么 Spring 会这样做呢?其实在 Caffeine 的 Benchmarks [3] 里给出了好靓仔的数据,对读和写的场景,还有跟其他几个缓存工具进行了比较,Caffeine 的性能都表现很突出。 使用 Caffeine Caffeine 为了方便大家使用以及从 Guava Cache 切换过来(很有针对性啊~),借鉴了 Guava Cache