利用自定义注解加spring切面实现redis service层缓存

本文介绍了如何利用Spring AOP和自定义注解实现Redis Service层缓存,以提高查询速度并减轻MySQL并发压力。通过在Service层方法上添加自定义注解,设置缓存并在切面逻辑中处理缓存更新和过期策略。这种方法存在数据正确性问题,但可以通过设置key过期时间来解决。
摘要由CSDN通过智能技术生成

  利用自定义注解加spring切面实现redis service层缓存。

功能:通过在service层上设置缓存可以将服务层的处理结果保存到redis上,这样的话第二次查询的时候可以直接从redis上取,加快查取速度。

优点:对于重复查取相同数据的接口可以明显加快速度,可以改善mysql的并发压力。

缺点:因为第二次的数据是从缓存上取得,数据已经是过期的了,数据正确性难以保证,下文的处理方式是给保存到redis上的key设置过期时间,过期后就继续从数据库查找数据,然后更新缓存,这样保证缓存上的数据更新;还有一个缺点就是缓存的命中率问题,此方法是将service层上的方法和参数作为redis的key值存储,第二次查取的时候必须要参数一致的时候才会命中缓存。

步骤:

   1.建立自定义注解:自定义注解的功能是为spring的切面设置切入点,告诉程序要在哪里使用切面,本文例子为在service层的方法上加入自定义注解就可以实现自己实现的aop缓存。

自定义注解很简单,只要新建个Java文件,以下代码为建立@MyRedisCache的注解:

import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;

@Target({ElementTyp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值