【Spring】-高性能两级缓存J2Cache

简介: 高性能两级缓存J2Cache

image.png

之前写了一篇Spring Cache 使用redis 实现两级缓存,后来查资料发现目前已经有一个很完善的两级缓存开源项目J2Cache,作者是-红薯


开源项目地址:https://gitee.com/ld/J2Cache/tree/master


J2Cache的一二级缓存支持自定义,一级缓存支持Caffeine、Ehcache2 和 Ehcache3,二级缓存支持redis、memcached

消息通知支持JGroups、Redis、RabbitMQ、RocketMQ

目前提供Hibernate、Mybatis、Session、Spring Cache、Spring Boot适配


下面简单看下在Spring Boot中使用J2Cache的例子

Spom.xml引入

目前j2cache最近版本是2.7.6-release,但我发现如果使用这个版本,j2cache core包无法下载

<dependency>
            <groupId>net.oschina.j2cache</groupId>
            <artifactId>j2cache-spring-boot-starter</artifactId>
            <version>2.7.5-release</version>
        </dependency>

application.properties配置

#j2cache配置文件路径
j2cache.config-location=classpath:j2cache.properties
#开启spring cache支持
j2cache.open-spring-cache=true

最后从J2Cache项目中Copy caffeine.properties,j2cache.properties这两个文件

这样就配置完毕了,是不是很简单,测试示例还是以前的例子

插入用户,新增缓存
=>操作数据库保存用户数据
第一次获取用户,存在缓存就从缓存返回,不存在就从数据库取
Person{id=1, name='陈大侠', age='18', sex='男'}
第二次获取用户
Person{id=1, name='陈大侠', age='18', sex='男'}
更新用户,更新缓存
=>操作数据库保存用户数据
第二次获取用户,看缓存是否有变化
Person{id=1, name='陈大侠', age='88', sex='男'}
删除用户,删除缓存
=>操作数据库删除用户数据
第三次再次获取用户,看缓存是否有变化
=>操作数据库,根据id获取用户信息
null


相关文章
|
3月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
|
8月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1128 0
|
4月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
680 5
|
4月前
|
存储 缓存 Java
Spring中@Cacheable、@CacheEvict以及其他缓存相关注解的实用介绍
缓存是提升应用性能的重要技术,Spring框架提供了丰富的缓存注解,如`@Cacheable`、`@CacheEvict`等,帮助开发者简化缓存管理。本文介绍了如何在Spring中配置缓存管理器,使用缓存注解优化数据访问,并探讨了缓存的最佳实践,以提升系统响应速度与可扩展性。
346 0
Spring中@Cacheable、@CacheEvict以及其他缓存相关注解的实用介绍
|
8月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
271 32
|
6月前
|
存储 缓存 NoSQL
Spring Cache缓存框架
Spring Cache是Spring体系下的标准化缓存框架,支持多种缓存(如Redis、EhCache、Caffeine),可独立或组合使用。其优势包括平滑迁移、注解与编程两种使用方式,以及高度解耦和灵活管理。通过动态代理实现缓存操作,适用于不同业务场景。
524 0
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
260 6
|
缓存 NoSQL Java
什么是缓存?如何在 Spring Boot 中使用缓存框架
什么是缓存?如何在 Spring Boot 中使用缓存框架
858 0
|
缓存 Java 开发工具
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
1622 24
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
|
缓存 NoSQL Java
Spring Boot中的分布式缓存方案
Spring Boot提供了简便的方式来集成和使用分布式缓存。通过Redis和Memcached等缓存方案,可以显著提升应用的性能和扩展性。合理配置和优化缓存策略,可以有效避免常见的缓存问题,保证系统的稳定性和高效运行。
389 3