J2Cache —— 基于内存和 Redis 的两级 Java 缓存框架
J2Cache 是 OSChina 目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis 。 由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。 该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的缓存冷启动后对后端业务的冲击。
J2Cache 的两级缓存结构
L1: 进程内缓存(caffeine\ehcache)
L2: Redis 集中式缓存
J2Cache 配置
配置文件位于 core/resources 目录下,包含三个文件:
j2cache.properties J2Cache 核心配置文件,可配置两级的缓存,Redis 服务器、连接池以及缓存广播的方式
caffeine.properties 如果一级缓存选用 Caffeine ,那么该文件用来配置缓存信息
ehcache.xml Ehcache 的配置文件,配置说明请参考 Ehcache 文档
ehcache3.xml Ehcache3 的配置文件,配置说明请参考 Ehcache 文档
network.xml JGroups 网络配置,如果使用 JGroups 组播的话需要这个文件,一般无需修改
数据读取
读取顺序 -> L1 -> L2 -> DB
数据更新
1 从数据库中读取最新数据,依次更新 L1 -> L2 ,发送广播清除某个缓存信息
2 接收到广播(手工清除缓存 & 一级缓存自动失效),从 L1 中清除指定的缓存信息
相关推荐
J2Cache 是 OSChina 目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis(推荐)/Memcached 。 由于大量的缓存读取会导致 L2...
**J2Cache 详解:两级缓存框架 v2.8.4** J2Cache 是一个高性能、轻量级的Java缓存解决方案,旨在为Java应用提供简单易用的缓存功能,以提升系统的响应速度和减少数据库负载。v2.8.4版本是其发展历程中的一个重要...
J2Cache是OSChina目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis(推荐)/Memcached。由于大量的缓存读取会导致L2的网络...
J2Cache 是 OSChina 目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis(推荐)/Memcached 。 由于大量的缓存读取会导致 L2...
J2Cache 是 OSChina 目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis(推荐)/Memcached 。 由于大量的缓存读取会导致 L2...
### J2Cache 两级缓存框架详解 #### 引言 在现代软件开发尤其是Web应用领域,缓存技术被广泛采用以提升应用性能并减轻后端数据库的压力。J2Cache作为一个高效的缓存解决方案,旨在通过两级缓存机制提高数据访问...
通过 J2Cache,可以轻松实现一级缓存(Ehcache/Caffeine)和二级缓存(Redis)的配置和管理。 ### 5. 配置与使用 在实际项目中,你需要在配置文件中指定一级缓存和二级缓存的实现,并设置相应的参数,如缓存大小、...
总结来说,本文介绍了如何在SpringBoot 2.0中集成J2Cache,使用Ehcache和Redis构建二级缓存系统,提供了完整的项目实践案例。读者不仅可以从中学习到SpringBoot的缓存配置和J2Cache的使用,还能了解到如何设计和实现...
J2Cache是一个高性能、可扩展的Java二级缓存框架,旨在解决分布式系统中的缓存一致性问题。它结合了ehcache(或Caffeine)作为本地缓存和Redis作为分布式缓存的优势,形成了一个分层的缓存策略。J2Cache最初设计是...
Java 两级缓存框架J2Cache是一个高效且灵活的解决方案,旨在提高应用程序的性能和响应速度,通过在本地和远程缓存之间建立层次结构。它整合了Ehcache(现在被Caffeine替代)和Redis两种不同的缓存系统,以实现最佳的...
开发者可以通过引入现成的Java两级缓存框架库,如J2Cache,来快速实现这种缓存机制,并根据项目需要进行定制化的扩展和优化。 Java两级缓存框架是针对分布式缓存系统网络IO开销问题的一个有效解决方案,它通过结合...