Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
C

caffeine

> 编程语言
开源

A high performance caching library for Java

17.8K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

A high performance caching library for Java

Caffeine is a high performance, near optimal caching library. For more details, see our user's guide and browse the API docs for the latest release.

Cache

Caffeine provides an in-memory cache using a Google Guava inspired API. The improvements draw on our experience designing Guava's cache and ConcurrentLinkedHashMap.

LoadingCache<Key, Graph> graphs = Caffeine.newBuilder()
    .maximumSize(10_000)
    .expireAfterWrite(Duration.ofMinutes(5))
    .refreshAfterWrite(Duration.ofMinutes(1))
    .build(key -> createExpensiveGraph(key));

Features at a Glance

Caffeine provides flexible construction to create a cache with a combination of the following optional features:

  • automatic loading of entries into the cache, optionally asynchronously
  • size-based eviction when a maximum is exceeded based on frequency and recency
  • time-based expiration of entries, measured since last access or last write
  • asynchronously refresh when the first stale request for an entry occurs
  • keys automatically wrapped in weak references
  • values automatically wrapped in weak or soft references
  • notification of evicted (or otherwise removed) entries
  • writes propagated to an external resource
  • accumulation of cache access statistics

In addition, Caffeine offers the following extensions:

  • JSR-107 JCache
  • Guava adapters
  • Simulation

Use Caffeine in a community provided integration:

  • Spring Cache: Simple, modern, productive Java
  • Play Framework: High velocity web framework
  • Micronaut: A modern, full-stack framework
  • Coroutines: Kotlin Coroutines extension
  • Bootique: A fast, simple Java platform
  • Quarkus: Supersonic Subatomic Java
  • Camel: Routing and mediation engine
  • Scaffeine: Scala wrapper for Caffeine
  • JHipster: Generate, develop, deploy
  • Aedile: Kotlin wrapper for Caffeine

Powering infrastructure near you:

  • Dropwizard: Ops-friendly, high-performance, RESTful APIs
  • Cassandra: Manage massive amounts of data, fast
  • Coherence: Mission critical in-memory data grid
  • Accumulo: A sorted, distributed key/value store
  • Kafka: A distributed event streaming platform
  • HBase: A distributed, scalable, big data store
  • Apache Solr: Blazingly fast enterprise search
  • Infinispan: Distributed in-memory data grid
  • Redisson: Ultra-fast in-memory data grid
  • OpenWhisk: Serverless cloud platform
  • Corfu: A cluster consistency platform
  • Grails: Groovy-based web framework
  • Finagle: Extensible RPC system
  • Neo4j: Graphs for Everyone
  • Druid: Real-time analytics

In the News

  • An in-depth description of Caffeine's architecture.
    • Design of a Modern Cache: part #1, part #2 (slides) at HighScalability
    • The Adaptive Window, From the Ground Up on optimizing shifting workloads
  • Caffeine is presented as part of research papers evaluating its novel eviction policy.
    • TinyLFU: A Highly Efficient Cache Admission Policy by Gil Einziger, Roy Friedman, Ben Manes
    • Adaptive Software Cache Management by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes
    • Lightweight Robust Size Aware Cache Management by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes

Download

Download from Maven Central or depend via Gradle:

implementation("com.github.ben-manes.caffeine:caffeine:3.2.4")

// Optional extensions
implementation("com.github.ben-manes.caffeine:guava:3.2.4")
implementation("com.github.ben-manes.caffeine:jcache:3.2.4")

For Java 11 or above, use 3.x otherwise use 2.x.

See the release notes for details of the changes.

Snapshots of the development version are available in Sonatype's snapshots repository.

核心特点

  • •[automatic loading of entries][population] into the cache, optionally asynchronously
  • •[size-based eviction][size] when a maximum is exceeded based on [frequency and recency][efficiency]
  • •[time-based expiration][time] of entries, measured since last access or last write
  • •[asynchronously refresh][refresh] when the first stale request for an entry occurs
  • •keys automatically wrapped in [weak references][reference]
  • •values automatically wrapped in [weak or soft references][reference]
  • •[notification][listener] of evicted (or otherwise removed) entries
  • •[writes propagated][compute] to an external resource
  • •accumulation of cache access [statistics][statistics]
  • •[JSR-107 JCache][jsr107]

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools