springboot caffine缓存的简介及demo是怎样的
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章将为大家详细讲解有关springboot caffine缓存的简介及demo是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Caffei
千家信息网最后更新 2025年12月03日springboot caffine缓存的简介及demo是怎样的
这篇文章将为大家详细讲解有关springboot caffine缓存的简介及demo是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Caffeine是使用Java8对Guava缓存的重写版本,在Spring 5.0或者Spring Boot 2.0中将取代,基于LRU算法实现,支持多种缓存过期策略。那么为什么这么好的东西需要被淘汰呢,如果对于本地Cache有过深入研究的人应该知道LRU算法基本可以满足大部分的场景,但是很多人为了精益求精,基于LRU的算法,又在此基础上提出了一系列更好的,更有效果的淘汰策略。比如有ARC,LIRS和W-TinyLFU等都提供了接近最理想的命中率,他们这些算法进一步提高了本地缓存的效率。Caffeine配置说明:initialCapacity=[integer]: 初始的缓存空间大小maximumSize=[long]: 缓存的最大条数maximumWeight=[long]: 缓存的最大权重expireAfterAccess=[duration]: 最后一次写入或访问后经过固定时间过期expireAfterWrite=[duration]: 最后一次写入后经过固定时间过期refreshAfterWrite=[duration]: 创建缓存或者最近一次更新缓存后经过固定的时间间隔,刷新缓存weakKeys: 打开key的弱引用weakValues:打开value的弱引用softValues:打开value的软引用recordStats:开发统计功能注意:expireAfterWrite和expireAfterAccess同时存在时,以expireAfterWrite为准。maximumSize和maximumWeight不可以同时使用weakValues和softValues不可以同时使用
springbootApplication开启缓存支持:@EnableCaching// 开启缓存,需要显示的指定maven 引入:
org.springframework.boot spring-boot-starter-cache com.github.ben-manes.caffeine caffeine
demo:
import com.github.benmanes.caffeine.cache.Caffeine;import org.springframework.cache.caffeine.CaffeineCacheManager;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;@Configurationpublic class CacheConfig { private static final int DEFAULT_MAXSIZE = 10; private static final int DEFAULT_TTL = 15 * 60; /** * 个性化配置缓存 */ @Bean(name = "caffeineCache") public CaffeineCacheManager cacheManager() { CaffeineCacheManager cacheManager = new CaffeineCacheManager(); Caffeine caffeine = Caffeine.newBuilder() //cache的初始容量值 .initialCapacity(10) .expireAfterWrite(DEFAULT_TTL,TimeUnit.SECONDS) //maximumSize用来控制cache的最大缓存数量,maximumSize和maximumWeight不可以同时使用, .maximumSize(DEFAULT_MAXSIZE); cacheManager.setCaffeine(caffeine); cacheManager.setCacheNames(getNames()); return cacheManager; } private static List getNames(){ List names = new ArrayList<>(2); names.add("datainterface"); return names; }} 关于springboot caffine缓存的简介及demo是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
缓存
同时
算法
最大
时间
简介
内容
文章
更多
知识
策略
篇文章
支持
配置
不错
精益求精
东西
个性
中将
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
填写网络安全检查表
宇宙互联网杭州未来科技城
福建搜遊网络技术有限公司
数据库字段是16进制
服务器升级后石友登陆不了
腾讯网络安全公司
维普属于主流数据库吗
软件开发和测试工作流程
教科版网络技术应用教案
迅捷pdf修改器连接数据库
戴尔r420服务器耗电
学软件开发电脑需要独显吗
网络安全小课堂第一期
唐冠网络安全联盟公司
云丁网络技术怎样
信用社网络安全风险分析
完整的软件开发有哪些环节
铜山高新区软件开发
软件开发服务单
c语言中的数据库是什么意思
网站用的数据库是自己编的吗
网络安全进课堂主题班会黑板报
手机跟踪软件开发
9网络安全手抄报
数据库添加一个用户
服务器进入驱动安装模式
广东视频会议服务器设备云空间
消防大队网络安全应急预案
互联网科技在英语教学中的应用
数据库数据的基本查询题库