小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
沉浸式翻译 immersive translate

本文介绍了 Caffeine 缓存的元素过期策略,包括 expireAfterAccess、expireAfterWrite 和自定义过期策略 expireAfter。自定义策略利用时间轮(TimeWheel)管理过期事件,定期检查元素是否过期,并根据剩余有效期调整元素在时间轮中的位置,以实现高效的过期管理。

本地缓存 Caffeine 中的时间轮(TimeWheel)是什么?

FreeBuf网络安全行业门户
FreeBuf网络安全行业门户 · 2025-08-05T06:47:26Z

本文介绍了Caffeine缓存的固定大小元素驱逐策略,重点阐述其实现原理和源码细节,包括Count-Min Sketch数据结构、内存屏障和MPSC多线程设计模式。Caffeine通过ConcurrentHashMap管理数据,结合LRU和TinyLFU算法进行元素驱逐,以确保高效性能。最后总结了Caffeine的设计理念及其在本地缓存选型中的理论依据。

缓存之美:万文详解 Caffeine 实现原理(上)

FreeBuf网络安全行业门户
FreeBuf网络安全行业门户 · 2025-08-05T06:45:52Z

本文介绍了 Caffeine 缓存的固定大小元素驱逐策略,重点阐述其实现原理和源码细节。Caffeine 通过 ConcurrentHashMap 管理数据,结合 LRU 算法和 Count-Min Sketch 数据结构优化元素访问频率,并采用 MPSC 多线程设计模式以提高读写效率。文章还分析了缓存维护机制和元素驱逐策略,为本地缓存选型提供理论依据。

缓存之美:万文详解 Caffeine 实现原理(上)

京东科技开发者
京东科技开发者 · 2025-08-05T06:37:29Z

本文介绍了 Caffeine 缓存的过期时间策略,包括 expireAfterAccess、expireAfterWrite 和自定义过期策略 expireAfter。自定义策略利用时间轮(TimeWheel)管理过期事件,支持 O(1) 的添加和删除操作。通过源码分析,详细阐述了时间轮的结构及元素的过期处理机制。

本地缓存 Caffeine 中的时间轮(TimeWheel)是什么?

京东科技开发者
京东科技开发者 · 2025-08-05T06:33:55Z

本文分析了Guava Cache的实现原理,指出其性能不及Caffeine Cache。Guava Cache通过分段锁、volatile变量和多种缓存策略管理缓存,使用LRU算法驱逐元素,数据结构包括AtomicReferenceArray和多个队列,支持高并发读写。尽管在性能和功能上劣于Caffeine,但在低性能需求场景下仍可考虑使用。

缓存之美:Guava Cache 相比于 Caffeine 差在哪里?

FreeBuf网络安全行业门户
FreeBuf网络安全行业门户 · 2025-06-30T10:02:25Z

本文分析了Guava Cache的实现原理,指出其性能不及Caffeine Cache。Guava Cache通过分段锁、volatile变量和多种缓存策略管理缓存,采用LRU算法驱逐元素。尽管在并发性能和缓存驱逐策略上存在劣势,但在性能要求不高的场景中仍可使用。

缓存之美:Guava Cache 相比于 Caffeine 差在哪里?

京东科技开发者
京东科技开发者 · 2025-06-30T09:44:03Z

getIfPresent 方法用于从 Caffeine 缓存中获取元素,若存在则返回其值。该方法通过 ConcurrentHashMap 获取节点,并检查是否过期或需要回收。未命中时更新统计信息并调度维护任务,维护方法处理读写缓冲区,以确保缓存性能和有效性。Caffeine 采用 TinyLFU 算法,适合高并发环境,支持多种缓存管理策略。

缓存之美:万文详解 Caffeine 实现原理(下)

京东科技开发者
京东科技开发者 · 2025-03-27T02:31:51Z

本文介绍了Caffeine缓存的固定大小元素驱逐策略,包括实现原理、源码细节和设计理念。重点讨论了Count-Min Sketch数据结构、内存屏障和MPSC多线程设计模式。Caffeine通过ConcurrentHashMap管理数据,并结合LRU和TinyLFU算法进行元素驱逐,以确保高效性能。最后总结了Caffeine的缓存设计思想及其在本地缓存选型中的理论依据。

缓存之美:万文详解 Caffeine 实现原理(上)

京东科技开发者
京东科技开发者 · 2025-02-14T02:00:17Z
如何在Kotlin协程中使用Caffeine - caffeine-coroutines简介

caffeine-coroutines是一个简化在协程中使用Caffeine的库。通过buildCoroutine扩展函数,开发者可以轻松利用Caffeine的功能。与Aedile相比,它避免了复杂的自定义API,专注于简单设计,适合在协程环境中使用Caffeine的开发者。

如何在Kotlin协程中使用Caffeine - caffeine-coroutines简介

DEV Community
DEV Community · 2025-02-07T12:37:49Z
My win for the week is remaining caffeine-free. Today's day eight!

My win for the week is remaining caffeine-free. Today's day eight!

DEV Community
DEV Community · 2024-11-22T19:17:57Z

Caffeine是一个基于Java8的高性能缓存库,提供灵活的构造器和多种缓存策略。支持自动和异步加载、基于大小和时间的驱逐、弱引用和软引用存储等功能。核心类包括Cache、LoadingCache、AsyncCache和AsyncLoadingCache,支持手动和自动加载、异步操作等。驱逐策略有容量、时间和引用三种,还支持手动移除和监听器功能。

Caffeine学习笔记

京东科技开发者
京东科技开发者 · 2024-10-16T05:32:45Z

Caffeine使用自适应窗口技术,提高命中率。与其他策略相比,Caffeine在性能和可扩展性方面表现出竞争力。幽灵队列大小限制在主队列范围内效果较差。S3-FIFO在命中率上优于W-TinyLFU,但在lfu友好的轨迹上表现不佳。

缓存Caffeine与Sieve比较

解道jdon.com
解道jdon.com · 2024-01-10T23:46:00Z

Caffeine是基于Java的一个高性能本地缓存库,由Guava改进而来;本文介绍了如何在Java中使用Caffeine缓存,以及如何在SpringBoot中集成Caffeine缓存;

Java高性能缓存库Caffeine

张小凯的博客
张小凯的博客 · 2023-03-28T03:30:08Z

在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,...

基于Spring Cache实现Caffeine、jimDB多级缓存实战

京东科技开发者
京东科技开发者 · 2023-01-31T02:15:56Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码