项目缓存之Caffeine咖啡因

文章目录

理论

java 复制代码
🍎缓存
	缓存是提升系统性能的一个不可或缺的工具,通过缓存可以避免大部分重复的请求到数据库层,减少IO链接次数,进而提升整体的响应速率;
	缓存工具可以分为本地缓存(如Caffeine)和分布式缓存(如Redis),优先使用本地缓存,一般情况下使用分布式缓存有点大材小用;
🍎Caffeine
定义:
	是一个现代化的 Java 缓存库,设计用于提供高性能和可伸缩性的本地缓存解决方案。
	是一种自带存储和移除策略的Map;
	适用于高并发以及快速访问数据的场景,因为内部实现了基于 ConcurrentHashMap 的数据结构,从而保证并发访问时的线程安全和高性能。
优点:
	使用caffeine做本地缓存,取数据可以达到微秒的级别,通常一次取数据用时不足1毫秒;
	支持并发,与ConcurrentMap很像,并且支持O(1)时间复杂度的数据存取;
	二者的主要区别在于:	ConcurrentMap将存储所有存入的数据,直到显式将其移除; 
						Caffeine将通过给定的配置,自动移除"不常用"的数据,以保持内存的合理占用。

使用

相关推荐
码农水水10 小时前
中国邮政Java面试:热点Key的探测和本地缓存方案
java·开发语言·windows·缓存·面试·职场和发展·kafka
luming-0215 小时前
报错解决:IDEA终端输出和CMD终端输出Maven版本不一致
java·缓存·bug·intellij-idea
minhuan16 小时前
大模型应用:大模型数据缓存复用方案:从API请求数据累积到智能融合.50
缓存·api调用·大模型应用·大模型数据缓存复用
QQ_43766431417 小时前
redis相关命令讲解及原理
数据库·redis·缓存
yuankunliu18 小时前
【redis】1、Redis的安装部署
数据库·redis·缓存
橘橙黄又青19 小时前
redis复习篇(1)
数据库·redis·缓存
最贪吃的虎20 小时前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
OpsEye20 小时前
Redis 内存碎片的隐形消耗——如何用 memory purge 命令释放空间?
运维·网络·数据库·redis·缓存·内存·监控
optimistic_chen21 小时前
【Redis系列】事务特性
数据库·redis·笔记·缓存·事务
CodeCipher21 小时前
关于Redis单线程问题
数据库·redis·缓存