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 缓存注解来实现缓存

修改配置类信息

启动类加上开启缓存注解

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

 
原文地址:https://www.cnblogs.com/bt2882/p/15215022.html