首页 > 编程语言 > 详细

SpringCache整合Redis

时间:2020-01-10 09:31:14      阅读:127      评论:0      收藏:0      [点我收藏+]

注:springcache并非springboot特有的功能

? ?

? ?

一、创建项目并导入依赖

? ?

? ?

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-cache</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

? ?

? ?

Springboot2.1.5之后版本远程连接redis时必须要加入spring-security依赖

? ?

二、相关配置和代码

? ?

Application.properites

? ?

spring.redis.host=192.168.21.134

spring.redis.port=6379

spring.redis.database=0

spring.redis.password=520hufei520

? ?

? ?

spring.cache.cache-names=c1

? ?

? ?

spring.cache.cache-names=c1,c2…. 表示启动时创建缓存名称,用逗号分隔表示多个缓存名

? ?

? ?

创建pojo、service用来测试

? ?

注:使用缓存需要在springboot启动类加上

@EnableCaching以用来开启缓存

? ?

技术分享图片

? ?

技术分享图片

? ?

当方法只有一个参数时,默认缓存的key是id

? ?

当方法有两个参数时,就需要指定key

? ?

技术分享图片

? ?

? ?

#id

属性名

#methodName

函数名

#method.name

同上

#caches

使用缓存集合中作为key,例子#caches[0]

#args

使用参数名作为key,使用方法同上

#target

当前调用对象作为key

#target.class

当前作用对象的class

? ?

还可以自己定义key

? ?

技术分享图片

? ?

技术分享图片

这也是一种写法

? ?

? ?

@CacheEvict

技术分享图片

删除的同步缓存

? ?

@CachePut

? ?

技术分享图片

? ?

修改时的同步缓存

? ?

? ?

在每个方法都定义一个缓存名似乎也很麻烦,可以其中定义在类上

? ?

? ?

技术分享图片

? ?

? ?

? ?

? ?

? ?

? ?

? ?

? ?

? ?

? ?

SpringCache整合Redis

原文:https://www.cnblogs.com/fernfei/p/12174174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!