Java程序设计:spring boot(11)——分布式缓存 Ehcache 整合

     

目录

1 Spring Cache 相关注解说明

1.1 @CacheConfig

1.2 @Cacheable

1.3 @CachePut

1.4 @CacheEvict

1.5 @Caching

2 环境配置

2.1 pom.xml 依赖添加

2.2 ehcahe.xml ⽂件添加

2.3 application.yml 缓存配置

2.4 启动缓存

2.5 JavaBean 对象实现序列化

3 缓存实现

3.1 用户详情查询缓存

3.2 用户列表查询缓存

3.3 用户更新&删除缓存


       EhCache 是⼀个⽐较成熟的 Java 缓存框架,最早从 hibernate 发展⽽来, 是进程中的缓存系统,它提供了⽤内存,磁盘⽂件存储,以及分布式存储⽅式等多种灵活的 cache 管理⽅案,快速简单。

       Spring Boot 对 Ehcache 的使⽤提供⽀持,所以在 Spring Boot 中只需简单配置即可使⽤ Ehcache 实现数据缓存处理。

1 Spring Cache 相关注解说明

       SpringBoot 缓存实现内部使⽤ SpringCache 实现缓存控制,这⾥集成 Ehcache 实际上是对 SpringCache 抽象的其中⼀种实现,这⾥在使⽤ Ehcache 实现缓存控制时相关注解说明如下。

1.1 @CacheConfig

       ⽤于标注在类上,可以存放该类中所有缓存的公有属性,⽐如设置缓存的名字。

@CacheConfig(cacheNames = "users")
public interface UserService {。。。}

       配置了该数据访问对象中返回的内容将存储于名为users的缓存对象中,我们也可以不使⽤该注解, 直接通过@Cacheable⾃⼰配置缓存集的名字来定义。

1.2 @Cacheable

       应⽤到读取数据的⽅法上,即可缓存的⽅法,如查找⽅法,先从缓存中读取,如果没有再调⽤相应⽅ 法获取数据,然后把数据添加到缓存中。

该注解主要有下⾯⼏个参数:

value、cacheNames:两个等同的参数( cacheNames 为 Spring 4 新增,作为 value 的别 名),⽤于指定缓存存储的集合名。由于 Spring 4 中新增了 @CacheConfig,因此在 Spring 3 中 原本必须有的 value 属性,也成为⾮必需项了。

key:缓存对象存储在Map集合中的 key 值,⾮必需,缺省按照函数的所有参数组合作为 key 值, 若⾃⼰配置需使⽤ SpEL 表达式,⽐如:@Cacheable(key = "#p0"):使⽤函数第⼀个参数作为缓 存的 key 值,更多关于SpEL 表达式的详细内容可参考官⽅⽂档。

condition:缓存对象的条件,⾮必需,也需使⽤SpEL表达式,只有满⾜表达式条件的内容才会被 缓存,⽐如:@Cacheable(key = "#p0", condition = "#p0.length() < 3"),表示只有当第⼀个参数 的⻓度⼩于3的时候才会被缓存。

unless:另外⼀个缓存条件参数,⾮必需,需使⽤ SpEL 表达式。它不同于 condition 参数的地⽅ 在于它的判断时机,该条件是在函数被调⽤之后才做判断的,所以它可以通过对 result 进⾏判 断。

keyGenerator:⽤于指定 key ⽣成器,⾮必需。若需要指定⼀个⾃定义的 key ⽣成器,我们需要 去实现org.springframework.cache.interceptor.KeyGenerator 接⼝,并使⽤该参数来指定。需 要注意的是:该参数与 key 是互斥的。

cacheManager:⽤于指定使⽤哪个缓存管理器,⾮必需。只有当有多个时才需要使⽤ cacheResolver:⽤于指定使⽤那个缓存解析器,⾮必需。需通过 org.springframework.cache. interceptor.CacheResolver 接⼝来实现⾃⼰的缓存解析器,并⽤该 参数指定。

@Cacheable(value = "user", key = "#id")
User selectUserById(final Integer id);

1.3 @CachePut

应⽤到写数据的⽅法上,如新增/修改⽅法,调⽤⽅法时会⾃动把相应的数据放⼊缓存,@C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茜茜西西CeCe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值