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

 

修改配置类信息

 

 

 

启动类加上开启缓存注解

 

 

 

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

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM