乐趣区

关于redis:SpringBoot整合Redis

1.Redis 命令

1.1 入门案例操作

2 SpringBoot 整合 Redis

2.1 编辑 pro 配置文件

因为 redis 的 IP 地址和端口都是动态变化的, 所以通过配置文件标识数据. 因为 redis 是公共局部, 所以写到 common 中

2.2 编辑配置类

3 对象与 JSON 串转化

3.1 对象转化 JSON 入门案例

3.2 编辑 ObjectMapper 工具 API

4 实现商品分类缓存实现

4.1 编辑 ItemCatController

阐明: 切换业务调用办法, 执行缓存调用

4.2 编辑 ItemCatService

5. AOP 实现 Redis 缓存

5.1 现有代码存在的问题

1. 如果间接将缓存业务, 写到业务层中, 如果未来的缓存代码发生变化, 则代码耦合高, 必然重写编辑代码.
2. 如果其余的业务也须要缓存, 则代码的反复率高, 开发效率低.
解决方案: 采纳 AOP 形式实现缓存.

5.2 AOP

在软件业,AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程 ,通过预编译形式和运行期间 动静代理 实现程序性能的对立保护的一种技术。AOP 是 OOP 的连续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容,是函数式编程的一种衍生范型。利用 AOP 能够对业务逻辑的各个局部进行隔离,从而使得业务逻辑各局部之间的耦合度升高,进步程序的可重用性,同时进步了开发的效率。

5.3 AOP 实现步骤

公式: AOP(切面) = 告诉办法(5 种) + 切入点表达式(4 种)

5.3.1 告诉温习

1.before 告诉 在执行指标办法之前执行
2.afterReturning 告诉 在指标办法执行之后执行
3.afterThrowing 告诉 在指标办法执行之后报错时执行
4.after 告诉 无论什么时候程序执行实现都要执行的告诉

上述的 4 大告诉类型, 不能控制目标办法是否执行. 个别用来 记录 程序的执行的状态.
个别利用与监控的操作.

5.around 告诉 (性能最为弱小的) 在指标办法执行前后执行.
因为盘绕告诉能够控制目标办法是否执行.管制 程序的执行的轨迹.

5.3.2 切入点表达式

1.bean(“bean 的 ID”) 粒度: 粗粒度 按 bean 匹配 以后 bean 中的办法都会执行告诉.
2.within(“包名. 类名”) 粒度: 粗粒度 能够匹配多个类
3.execution(“返回值类型 包名. 类名. 办法名(参数列表)”) 粒度: 细粒度 办法参数级别
4.@annotation(“包名. 类名”) 粒度: 细粒度 依照注解匹配

5.3.3 AOP 入门案例

5.4 AOP 实现 Redis 缓存

5.4.1 业务实现策略

1). 须要自定义注解 CacheFind
2). 设定注解的参数 key 的前缀, 数据的超时工夫.
3). 在办法中标识注解.
4). 利用 AOP 拦挡指定的注解.
5). 应该应用 Around 告诉实现缓存业务.

5.4.2 编辑自定义注解

5.4.3 办法中标识注解

5.4.4 编辑 CacheAOP

退出移动版