前期配置与准备
pom文件引入cache和redis的依赖
1 | <!-- 使用redis做缓存 --> |
配置application.properties
1 | ## Redis部分 |
配置Configuration
1 | package com.HaijieLi.blog.config; |
启动类Application添加@EnableCaching注解
1 | package com.HaijieLi.blog; |
缓存注解的使用
使用缓存来实现缓存的最大好处就是可以减少对原来代码功能的改动性,使得我们可以完全不用理会原本的代码逻辑的情况下来增加或者删除的缓存的功能
@Cacheable的使用
@Cacheable:调用方法时先从缓存中查询有没有对应key的数据,如果有直接从缓存获取返回,如果没有则执行方法,将返回值存入缓存中。
参数 | 解释 |
---|---|
value | 缓存的名称,在配置文件中定义,至少指定一个 |
key | 如果自定义要按照 SpEL 表达式编写;如果不指定,则会按照参数进行整合 |
condition | 默认所有都进行缓存,使用 SpEL 表达式编写,表达式为true 才进行缓存 |
样例代码
1 | "common", key = "'blog_'+#user_id+'_'+#id", condition = "#result != null ") (value = |
@CacheEvict的使用
@CacheEvict:调用方法后从缓存中删除对应key的数据
参数 | 解释 |
---|---|
value | 缓存的名称,在配置文件中定义,至少指定一个 |
key | 如果自定义要按照 SpEL 表达式编写;如果不指定,则会按照参数进行整合 |
allEntries | 是否清空所有缓存内容,默认为false |
beforeInvocation | 是否在方法执行前就清空,默认为false |
样例代码
1 | "common" , key = "'blog_'+#userId+'_'+#blog.id") (value = |