跟我学Springboot开发后端管理系统6:缓存框架Caffeine
Caffeine是一个基于Java8的高性能缓存框架,号称趋于完美。Caffeine受启发于Guava Cache的API,使用API和Guava是一致的。它借鉴了Guava Cache和ConcurrentLinkedHashMap的设计经验。 性能比较 基准测试使用Java microbenchmark工具提供准确的分析。 缓存配置为 Caffeine和ConcurrentLinkedHashMap根据CPU数量确定其内部结构的大小 Guava的并发级别配置为64(默认为4,以减少内存使用)。 Ehcache v2在内部被硬编码为100个段,而v3未分段 100%的读操作 读75% 写25% 写100% 上面三种测试图来自于Caffeine官网,从图可知,Caffeine的性能玩爆其他缓存框架。 在Matrix-Web中使用Caffeine 在工程的pom文件引入caffeine的依赖,如下: <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>${caffeine.version}</version> </dependency> 创建一个抽象类AbstractCaffineCache,该类使用范型来约束缓存的数据类型