📉
caffeine
  • 首页
  • 添加
  • 驱逐
  • 移除
  • 刷新
  • Writer
  • 统计
  • 规范
  • 清理
  • 策略
  • 测试
  • Faq
  • 扩展
    • 模拟器
    • JCache
    • Guava
  • 性能
    • 设计
    • 效率
    • 基准测试
    • 内存开销
  • 开发线路图
由 GitBook 提供支持
在本页

这有帮助吗?

首页

https://github.com/ben-manes/caffeine/wiki/Home-zh-CN

下一页添加

最后更新于4年前

这有帮助吗?

Caffeine是一个基于Java8开发的提供了命中率的的缓存库。

缓存和有点相似,但还是有所区别。最根本的区别是将会持有所有加入到缓存当中的元素,直到它们被从缓存当中手动移除。但是,Caffeine的缓存Cache 通常会被配置成自动驱逐缓存中元素,以限制其内存占用。在某些场景下,LoadingCache和AsyncLoadingCache 因为其自动加载缓存的能力将会变得非常实用。

Caffeine提供了灵活的构造器去创建一个拥有下列特性的缓存:

  • 元素到缓存当中,异步加载的方式也可供选择

  • 当达到最大容量的时候可以使用基于的算法进行

  • 将根据缓存中的元素上一次访问或者被修改的时间进行

  • 当向缓存中一个已经过时的元素进行访问的时候将会进行

  • key将自动被所封装

  • value将自动被所封装

  • 驱逐(或移除)缓存中的元素时将会进行

  • 到一个外部数据源当中

  • 持续计算缓存的访问

为了提高集成度,扩展模块提供了和适配器。JSR-107规范了基于Java 6的API,在牺牲了功能和性能的代价下使代码更加规范。Guava的Cache是Caffeine的原型库并且Caffeine提供了适配器以供简单的迁移策略。

我们很欢迎你的贡献。请阅读,[贡献指南][contribute]和。

[contribute]:

近乎最佳
高性能
ConcurrentMap
ConcurrentMap
自动加载
就近度和频率
基于容量的驱逐
基于过期时间的驱逐
异步刷新
弱引用
弱引用或者软引用
通知
写入传播
统计指标
JSR-107 JCache
Guava
设计部分
开发路线图
https://github.com/ben-manes/caffeine/wiki/Contribute-zh-CN