Caffeine is a high performance, near optimal caching library based on
Java 8. For more details, see our user's guide and browse the API docs for
the latest release.
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()
.build(key -> createExpensiveGraph(key));
Features at a Glance
Caffeine provides flexible construction to create a cache with a combination of the following features:
In addition, Caffeine offers the following extensions:
Use Caffeine in a community provided integration:
Powering infrastructure near you:
- Dropwizard: Ops-friendly, high-performance, RESTful APIs
- Cassandra: Manage massive amounts of data, fast
- Accumulo: A sorted, distributed key/value store
- 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.
- Caffeine is presented as part of research papers evaluating its novel eviction policy.
Download from Maven Central or depend via Gradle:
// Optional extensions
See the release notes for details of the changes.
Snapshots of the development version are available in
Sonatype's snapshots repository.