Spring AOP加注解实现redis缓存

本文介绍了如何通过创建一个自定义注解`RedisCache`和切面`RedisCacheAspect`来实现Spring AOP在方法上进行Redis缓存的操作。注解包含key和expire参数,key使用Spring EL表达式来拼接动态的缓存键。切面在注解的方法执行前后负责从缓存获取或存储数据,如果缓存和数据库都无数据,可以添加额外的逻辑以防止缓存击穿。
摘要由CSDN通过智能技术生成
今天来做一个通过注解的形式实现redis缓存

在我们平时的redis的使用中经常会有一种写法,就是先查redis,如果redis中没有,再查数据库。

 String key = KEY + "showButton";
        if (redisClient.hasKey(key)) {
   
            String str = redisClient.get(key, String.class);
            result = JSON.parseArray(str, VaButtonConfig.class);
            log.info("从redis获取按钮配置");
            return result;
        }else {
   
            result = buttonConfigMapper.selectByExample(null);
            redisClient.set(key,result,7,TimeUnit.DAYS);
            log.info("将按钮配置存入redis");
            return result;
        }

像这种套路性的代码太多可以说有很多“重复”代码了。这里我们来做一个注解来实现上面的功能,简化我们的代码。

新建一个注解RedisCache,key表示我们redis缓存的key。expire缓存时间
package com.lw.study.redisInterupter;

import java.lang.annotation.*;

/**
 * @author 
 * @date 10:28 2019/6/26
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值