Springboot + Caffeine 实现本地缓存

一.Caffeine 介绍

 Caffeine 是一个高性能、出色的缓存类库,基于Java 8。它的性能非常的出色,API也比较友好,本篇,我们就来介绍一下Caffeine 使用。

 

二.引入依赖

 

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

<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.7.0</version>
</dependency>



三.  Caffeine 配置介绍

 

maximumSize:设置缓存最大条目数,超过条目则触发回收 
maximumWeight:设置缓存最大权重,设置权重是通过weigher方法, 需要注意的是权重也是限制缓存大小的参数,并不会影响缓存淘汰策略,也不能和maximumSize方法一起使用。 
weakKeys:将key设置为弱引用,在GC时可以直接淘汰
weakValues:将value设置为弱引用,在GC时可以直接淘汰
softValues:将value设置为软引用,在内存溢出前可以直接淘汰
expireAfterWrite:写入后隔段时间过期
expireAfterAccess:访问后隔断时间过期
refreshAfterWrite:写入后隔断时间刷新
removalListener:缓存淘汰监听器,配置监听器后,每个条目淘汰时都会调用该监听器
writer:writer监听器其实提供了两个监听,一个是缓存写入或更新是的write,一个是缓存淘汰时的delete,每个条目淘汰时都会调用该监听器

 

 

三. 定义一个配置类用于设置 Caffeine 配置

 

 

 

 

 

 

四. 调用api 添加查询缓存,缓存生效

 

 

 

 

 

五. 使用spring 缓存注解来实现缓存

 

修改配置类信息

 

 

 

启动类加上开启缓存注解

 

 

 

最后调用方法查看,缓存生效

 

 

 

 
posted @ 2021-09-01 15:59  历尽千帆归来任是少年  阅读(1809)  评论(0编辑  收藏  举报