一:设计思路
-
流程图:
-
注解-AOP模式:
利用注解和AOP模式可以非侵入式的实现缓存功能,spring有自带的Cacheable, 但是不能每个缓存自定义过期时间,还有一些自定义功能,所以选择重新写一个
-
需要用到的东西:
1.AOP包->实现AOP功能 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 2.SPEL表达式->实现注解动态注入和表达式判断,这个SpringCore自带无需导包 3.Redis包和Redis配置->实现操作缓存,这个我就不贴了,百度一大把
-
需要实现的功能:
1.RedisCache注解: Redis缓存名称=根名称+方法名+参数名称+参数 => RedisCache:findList:[name=uuiivv] condition:正向判断,如果符合条件则添加进缓存 unless:反向判断,如果不符合则添加进缓存 2.Redis保存时序列化和反序列化 jackson2JsonRedisSerializer: 这个实现Value的序列化 StringRedisSerializer:这个实现Key的序列化 3.自定义过期时间 expire:这个字段可以设置过期时间,单位秒,默认60S 4.更新/删除缓存