springboot整合ehcache+redis实现双缓存

76 篇文章 724 订阅 ¥19.90 ¥99.00
4 篇文章 526 订阅

在一些对并发业务要求较高的场景下,对页面数据的响应是个急需解决的问题,对后端来说,ehcache+redis实现双缓存是解决这一问题的不错思路,而且在不少的电商项目中得到了很好的验证,但我在网上搜寻资料的时候总觉得一些材料不能很好的说明这个问题,要么太复杂,要么太简单,最近抽空思考了一下这一思路的简单实现,下面就用springboot整合ehcache和redis来说明一下实现的过程,

需求说明,这里有个商品,加入页面需要查询这个商品的基本信息,正常情况下,我们会执行一次sql查询即可查询出商品信息,但并发量大的情况下,大量的查询导致数据库连接开销非常大,所以首先走redis缓存,redis没有查到,则走本地的ehcache堆缓存,如果ehcache也没有找到,则走mysql,然后把查询到的数据放入到redis和ehcache中,下面就来整合一下这个思路,

1、整个项目的结构如图所示,这里为了交互方便,我使用的框架是mybatis,
在这里插入图片描述
2、pom依赖文件,

<!-- 新版本springboot使用2.0.3 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELE
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
springboot整合ehcache+redis实现缓存的过程如下[^1]: 1. 添加依赖:在项目的pom.xml文件中添加ehcacheredis的依赖。 2. 配置ehcache:在application.properties或application.yml文件中配置ehcache的相关属性,包括缓存的名称、最大缓存数量、缓存过期时间等。 3. 配置redis:在application.properties或application.yml文件中配置redis的相关属性,包括redis的地址、端口、密码等。 4. 创建缓存管理器:在Spring Boot的配置类中创建一个缓存管理器,用于管理ehcacheredis缓存。 5. 使用缓存注解:在需要缓存的方法上添加缓存注解,例如@Cacheable、@CachePut等,指定缓存的名称和缓存的key。 6. 启动项目:运行Spring Boot的启动类,启动项目。 验证整个流程可以通过以下步骤进行: 1. 创建一个Controller类,在其中定义一个需要缓存的方法。 2. 在该方法上添加缓存注解,指定缓存的名称和缓存的key。 3. 启动项目,访问该方法,观察缓存是否生效。 示例代码如下: ```java // 引入相关的包 @RestController public class MyController { @Autowired private MyService myService; @GetMapping("/getData") @Cacheable(value = "myCache", key = "#param") public String getData(@RequestParam String param) { // 从数据库或其他数据源获取数据的逻辑 String data = myService.getDataFromDB(param); return data; } } @Service public class MyService { public String getDataFromDB(String param) { // 从数据库获取数据的逻辑 return "data from database"; } } ``` 相关问题: 1. 如何在Spring Boot中配置ehcacheredis? 2. 如何使用@Cacheable注解进行缓存? 3. 如何在Spring Boot中使用多个缓存管理器?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值