springboot caffine缓存的简介及demo是怎样的
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章将为大家详细讲解有关springboot caffine缓存的简介及demo是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Caffei
千家信息网最后更新 2024年11月20日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 ListgetNames(){ List names = new ArrayList<>(2); names.add("datainterface"); return names; }}
关于springboot caffine缓存的简介及demo是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
缓存
同时
算法
最大
时间
简介
内容
文章
更多
知识
策略
篇文章
支持
配置
不错
精益求精
东西
个性
中将
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
985网络技术院校
日本私人云服务器怎么样
数据库前三季模式结构
智能化服务器
软件开发公司收入如何做账
南宁哪里有软件开发
关系型数据库 关系
查询企业邮箱的服务器
dns服务器不一样能共享文件吗
基层网络安全倡议书
服务器装机如何分区
把服务器安全狗删除了
pe版我的世界怎么加服务器
数据库中自增长
福建省服务器托管云空间云主机
网络安全防护技术要求
三层架构数据库访问
前端数据库哪个好
如何删除数据库一个字段
广电网络技术部新年工作计划
和乐网络技术招聘
黔江软件开发品牌
服务器前面板硬盘指示灯
保定行为管理服务器价格
软件开发和程序员哪个工资高
苏州戴尔r340服务器参数
江苏外贸进口软件服务器虚拟主机
怎么检测本机与服务器是否连通
搭建宝塔提示链接服务器失败
宜宾软件开发技巧