基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Stella981 Stella981
3年前
SpringBoot 整合 caffeine
1、pom加入<!https://mvnrepository.com/artifact/org.springframework.boot/springbootstartercache<dependency<groupIdorg.springfra
Wesley13 Wesley13
3年前
Java本地缓存框架系列
Caffeine是一个基于Java8的高性能本地缓存框架,其结构和GuavaCache基本一样,api也一样,基本上很容易就能替换。Caffeine实际上就是在GuavaCache的基础上,利用了一些Java8的新特性,提高了某些场景下的性能效率。这一章节我们会从Caffeine的使用引入,并提出一些问题,之后分析其源代码解
Stella981 Stella981
3年前
Spring Cache缓存技术的介绍
缓存用于提升系统的性能,特别适用于一些对资源需求比较高的操作。本文介绍如何基于springbootcache技术,使用caffeine作为具体的缓存实现,对操作的结果进行缓存。demo场景本demo将创建一个web应用,提供两个Rest接口。一个接口用于接受查询请求,并有条件的缓存查询结果。另一个接口用于获取所有缓存的数据,用于监控
Wesley13 Wesley13
3年前
J2Cache 两级缓存中的 Region 到底是什么东西?
不时有人来询问J2Cache(https://gitee.com/ld/J2Cache)里的Region到底是什么概念,这里做统一的解答。J2Cache的Region来源于Ehcache的Region概念。一般我们在使用像Redis、Caffeine、GuavaCache时都没有Region这样的概念,特别是Re
京东云开发者 京东云开发者
13小时前
缓存之美:万文详解 Caffeine 实现原理(上)
作者:京东科技王奕龙文章将采用“总分总”的结构对配置固定大小元素驱逐策略的Caffeine缓存进行介绍,首先会讲解它的实现原理,在大家对它有一个概念之后再深入具体源码的细节之中,理解它的设计理念,从中能学习到用于统计元素访问频率的CountMinSketc
本地缓存Ehcache的应用实践 | 京东云技术团队
java本地缓存包含多个框架,其中常用的包括:Caffeine、GuavaCache和Ehcache,其中Caffeine号称本地缓存之王,也是近年来被众多程序员推崇的缓存框架,同时也是SpringBoot内置的本地缓存实现。但是除了Caffeine之外,
京东云开发者 京东云开发者
9个月前
Caffeine学习笔记
作者:京东工业孙磊一、认识Caffeine1、Caffeine是什么?Caffeine是一个基于Java8开发的提供了近乎最佳命中率的高性能的缓存库,也是SpringBoot内置的本地缓存实现。2、Caffeine提供了灵活的构造器去创建一个拥有下列特性的
京东云开发者 京东云开发者
1个月前
缓存之美:Guava Cache 相比于 Caffeine 差在哪里?
作者:京东科技王奕龙本文将结合GuavaCache的源码来分析它的实现原理,并阐述它相比于CaffeineCache在性能上的劣势。为了让大家对GuavaCache理解起来更容易,我们还是在开篇介绍它的原理:GuavaCache通过分段(Segment)锁
京东云开发者 京东云开发者
13小时前
本地缓存 Caffeine 中的时间轮(TimeWheel)是什么?
我们详细介绍了Caffeine缓存添加元素和读取元素的流程,并详细解析了配置固定元素数量驱逐策略的实现原理。在本文中我们将主要介绍配置元素过期时间策略的实现原理,补全Caffeine对元素管理的机制。在创建有过期时间策略的Caffeine缓存时,它提供了三