springboot使用redis缓存
2018-01-30 00:21
183 查看
springboot比ssm配置redis要简单方便很多,下面进入配置步骤
首先在pom.xml文件中引入依赖:spring-boot-starter-data-redis
然后在application.yml文件中配置redis的IP地址和端口号,如果有密码还得配置密码
如图:
然后在springboot的启动类上添加@EnableCaching注解,你的所有类都得在springbootApplication类的同级包下,如果不是的话,你就得设置包扫描注解,
然后就可以进行redis缓存的使用了,在你想要加注解的地方使用
@Cacheable(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")
此注解用于需要存缓存的地方可以是类上也可以是方法上,
cacheNames为redis中key的前缀值,比如擦车Names = "School",则在Redis中显示为"School:",可有可五
value为school后面的值,这两个构成一个redis的key,
key属性是用来指定Spring缓存方法的返回结果时对应的key的,你可以使用EL表达式来获取key
condition有的时候我们可能并不希望缓存一个方法所有的返回结果。通过condition属性可以实现这一功能。condition属性默认为空,表示将缓存所有的调用情形。其值是通过SpringEL表达式来指定的,当为true时表示进行缓存处理;当为false时表示不进行缓存处理,即每次调用该方法时该方法都会执行一次。
当有地方改动值了需要做缓存同步,可使用
@CacheEvict(cacheNames
= "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")
属性一样,只是这个是用来清除缓存的。
使用场景举例:用户查看商品列表,则可以在查看商品列表的controller上加个缓存,或者查出来list的Service类上加个缓存,
如若后台添加了商品,或者下架了商品则需要在添加下架的controller或者service上清除这个缓存。
在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。@CachePut也可以声明一个方法支持缓存功能。与@Cacheable不同的是使用@CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。
一般用的比较多的是@Cacheable和@CacheEvict
首先在pom.xml文件中引入依赖:spring-boot-starter-data-redis
然后在application.yml文件中配置redis的IP地址和端口号,如果有密码还得配置密码
如图:
然后在springboot的启动类上添加@EnableCaching注解,你的所有类都得在springbootApplication类的同级包下,如果不是的话,你就得设置包扫描注解,
然后就可以进行redis缓存的使用了,在你想要加注解的地方使用
@Cacheable(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")
此注解用于需要存缓存的地方可以是类上也可以是方法上,
cacheNames为redis中key的前缀值,比如擦车Names = "School",则在Redis中显示为"School:",可有可五
value为school后面的值,这两个构成一个redis的key,
key属性是用来指定Spring缓存方法的返回结果时对应的key的,你可以使用EL表达式来获取key
condition有的时候我们可能并不希望缓存一个方法所有的返回结果。通过condition属性可以实现这一功能。condition属性默认为空,表示将缓存所有的调用情形。其值是通过SpringEL表达式来指定的,当为true时表示进行缓存处理;当为false时表示不进行缓存处理,即每次调用该方法时该方法都会执行一次。
当有地方改动值了需要做缓存同步,可使用
@CacheEvict(cacheNames
= "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")
属性一样,只是这个是用来清除缓存的。
使用场景举例:用户查看商品列表,则可以在查看商品列表的controller上加个缓存,或者查出来list的Service类上加个缓存,
如若后台添加了商品,或者下架了商品则需要在添加下架的controller或者service上清除这个缓存。
@CachePut(cacheNames = "xxxx",value = "xxxx",key = "xxx",condition = "#xxx.xxx")
在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。@CachePut也可以声明一个方法支持缓存功能。与@Cacheable不同的是使用@CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。一般用的比较多的是@Cacheable和@CacheEvict
相关文章推荐
- SpringBoot使用Redis缓存的实现方法
- springboot中使用Druid
- Django使用redis缓存服务器
- SpringBoot 使用@Aspect进行日志管理(基于反射代理模式+动态修改注解Log)
- Springboot使用POI实现导出Excel文件示例
- SpringBoot 项目中使用velocity模板(转载)
- intellij下使用springboot实现微信公众号回复功能
- windows 环境下.Net使用Redis缓存
- SpringBoot-使用jsp模版
- yii2使用redis缓存购物车和接口ip限制
- SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
- SpringBoot 使用 @Value 从 YAML文件读取属性(转)
- SpringBoot项目中使用AOP
- SpringBoot自动配置xxxAutoConfiguration 的使用
- 【转载】springboot:如何优雅的使用mybatis
- SpringBoot使用velocity模板引擎
- SpringBoot入门-15(springboot配置freemarker使用YML)
- springboot中使用logback
- 我在项目中使用Redis缓存遇到的问题总结
- 使用redis缓存网站首页