环境搭建2.1、思路分析
- ①、在项目pom.xml文件中导入spring-data-redis的maven坐标
复制代码
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
- ②、在项目的配置文件中加入Redis相关配置(在Spring层级下)
复制代码
- redis:
- jedis:
- pool:
- max-idle: 5 #最大链接数,连接池中最多有10个
- min-idle: 1 # 最大空闲数
- max-wait: 1000ms #连接池最大阻塞等待时间
- max-active: 10 #最大链接数
- host: 127.0.0.1
- port: 6379
- database: 2
- # password:
注意事项
- 在使用缓存的过程当中,要注意保证数据库中的数据和缓存中的数据保持一致
- 如果数据库中的数据发生变化,需要及时清理缓存数据。否则就会造成缓存数据与数据库数据不一致的情况
在增加缓存之前,需要对存储进Redis中的数据进行一个简单的设计,如下所示
数据类型key值value值Stringdish_菜品分类的id菜品的List集合(List)
为了保证数据库中的数据和缓存中的数据一致,如果数据库中的数据发生变化,需要及时清理缓存数据
所以,需要在菜品的增删改中清空缓存数据
- @CachePut注解说明
- 作用
- 将方法返回值,放入缓存
- value
- 缓存的名称,每个缓存名称下面可以有很多key
- key
- 缓存的key,支持Spring的表达式语言SPEL语法
key的写法如下:
- #user.id
- #user指的是方法形参的名称, id指的是user的id属性 , 也就是使用user的id属性作为key
- #user.name
- #user指的是方法形参的名称, name指的是user的name属性 ,也就是使用user的name属性作为key
- #result.id
- #result代表方法返回值,该表达式 代表以返回对象的id属性作为key
- #result.name
- #result代表方法返回值,该表达式 代表以返回对象的name属性作为key
- @CacheEvict注解说明
- 作用
- 清理指定缓存
- value
- 缓存的名称,每个缓存名称下面可以有多个key
- key
- 缓存的key,支持Spring的表达式语言SPEL语法
- @Cacheable注解说明
- 作用
- 在方法执行前,Spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放入到缓存中
- value
- 缓存的名称,每个缓存名称下面可以有多个key
- key
- 缓存的key,支持Spring的表达式语言SPEL语法
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |