SpringBoot整合Redis

1.添加配置文件:

  1. Redis.properties
# 配置单台redis服务器
redis.host=192.168.126.129 ip地址
redis.port=6379   端口号
  1. 设置配置类:

RedisConfig
image.png

2.将对象转化为Json格式入门案例

API: MAPPER.writeValueAsString(itemDesc);
image.png

image.png

3.将对象转化为Json格式格式优化

4.AOP实现Redis缓存

AOP实现Redis

1.@cacheFind()注解

实现策略:

A.需要自定义注解CacheFind
B.设定注解的参数 key的前缀 数据的超时的时间
C.在方法中标识注解,
D.利用aop拦截指定的注解
E.使用环绕通知 around通知 实现缓存业务

方式一
编辑自定义注解:
1.CacheFind
image.png
方式二 优化

1.现有代码存在的问题

1.如果直接将缓存业务,写到业务层,如果将来的缓存代码发生变化,则代码耦合高
2.如果其他的业务也需要,必然重写编辑代码,发效率低

2.AOP概念:

1.AOP--面向切面编程,通过预编译和运行期间 动态代理;降低耦合性
提高程序的重用性,同时提高开发效率;

3.AOP实现的具体步骤:

公式 AOP(切面)=通知方法+切入点表达式

五种通知方法:
1.before

在执行目标方法之前执行

2.after

在执行目标方法之后执行

3.afterReturning

在目标方法执行之后报错时执行

4.afterThrowing

无论什么时候程序执行完成,都要执行的通知

5.around ___功能最强大的

环绕通知 在目标方法执行前,后执行
可以控制目标方法是否执行 可以控制程序执行的轨迹;

注:
前面4中通知不能控制目标放啊是否执行,一般用来记录程序的执行状态;一般应用于监控操作只用于做记录的

四种切入点表达式:
bean ("bean的id")

粒度:按Bean匹配(就是实例化的兑现)当前bean中的方法都会执行通知 ___粗粒度

within ("包名.类名") ___粗粒度

可以匹配多个类用通配符*

execution ("返回值类型 包名.类名.方法名(参数列表)")

细粒度 方法参数级别

@annotation ("包名.类名")

细粒度 安装注解匹配

你可能感兴趣的