项目缓存之Caffeine咖啡因

文章目录

理论

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

使用

相关推荐
daixin884812 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
daixin884814 小时前
Redis过期数据的删除策略是什么?有哪些?
数据库·redis·缓存
EmpressBoost15 小时前
谷粒商城170缓存序列化报错
java·spring·缓存
幻灭行度17 小时前
通过redis_exporter监控redis cluster
数据库·redis·缓存
forestsea19 小时前
Caffeine 缓存库的常用功能使用介绍
java·缓存·caffeine
冷崖21 小时前
Redis缓存策略以及bigkey的学习(九)
redis·学习·缓存
雪*夹雨夹*雪1 天前
CPU 为什么需要缓存?揭开速度与效率的底层逻辑
缓存
love530love1 天前
Windows 如何更改 ModelScope 的模型下载缓存位置?
运维·人工智能·windows·python·缓存·modelscope
szx04271 天前
缓存HDC内容用于后续Direct2D绘制.
c++·缓存·directx·d2d·direct2d·dx·gdi+dx
Heidi__2 天前
前端数据缓存机制详解
前端·缓存