springboot配置使用redis及其使用

1.导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2.在Application.class配置注解

//允许使用缓存注解
@EnableCaching

3.在application.properties文件中配置

# 配置redis
# redis数据库索引
spring.redis.database=0
# redis数据库服务器ip
spring.redis.host=127.0.0.1
# redis端口
spring.redis.port=6379
# 设置全局缓存过期时间,1d代表一天后清除缓存
spring.cache.redis.time-to-live=1d

4.使用讲解(常用缓存注解解释)

(1)@Cacheable

@Cacheable 可以标记在方法上,也可以标记在类上。当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的。应用到读取数据的方法上,将先从缓存中读取该方法的返回值,如果没有再从DB获取数据,然后把数据添加到缓存中。缓存是以键值对进行的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略
属性值: value,key,condition,unless
condition 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存。@Cacheable 将在执行方法之前判断condition,如果返回true,则放入缓存
value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个
key 缓存的 key,可以为空,如果指定要按照SpEL 表达式编写,如果不指定,则按照方法的所有参数进行组合
unless 缓存条件:判断unless,如果返回false,则放入缓存(与Condition相反 )

(2)@CacheEvcit

@CacheEvcit 应用到删除数据的方法上,调用方法时会从缓存中删除对应key的数据
属性值 value,key,condition,allentries,beforeInvocation
condition 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存。当beforeInvocation= false 表示在方法执行之后调用,将在执行方法之后判断condition,如果返回true,则放入缓存
value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个
key 缓存的 key,可以为空,如果指定要按照SpEL 表达式编写,如果不指定,则按照方法的所有参数进行组合
allentries 是否清空所有缓存内容,缺省为 false,如果指定为 true,则方法调用后将立即清空所有缓存
beforeInvocation 是否在方法执行前就清空,缺省为 false,如果指定为 true,则在方法还没有执行的时候就清空缓存,缺省情况下,如果方法执行抛出异常,则不会清空缓存

(3)@CachePut

@CachePut 应用到写数据的方法上,如新增/修改方法,调用方法时会自动把相应的数据放入缓存。( 与@Cacheable的区别:执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中)
属性值: value,key,condition,unless
condition 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存。@Cacheable 将在执行方法之后判断condition,如果返回true,则放入缓存
value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个
key 缓存的 key,可以为空,如果指定要按照SpEL 表达式编写,如果不指定,则按照方法的所有参数进行组合
unless 缓存条件:判断unless,如果返回false,则放入缓存(与Condition相反 )

到此,springboot配置redis成功。有问题随时评论,觉得有用的话记得点个赞哦!

你可能感兴趣的:(springboot,spring,boot)