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.
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(5, TimeUnit.MINUTES)
.refreshAfterWrite(1, TimeUnit.MINUTES)
.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
Corfu : A cluster consistency platform
Grails : Groovy-based web framework
Orbit : Virtual actors on the JVM
Finagle : Extensible RPC system
Neo4j : Graphs for Everyone
In the News Download Download from Maven Central or depend via Gradle:
compile 'com.github.ben-manes.caffeine:caffeine:2.8.0'// Optional extensionscompile 'com.github.ben-manes.caffeine:guava:2.8.0'compile 'com.github.ben-manes.caffeine:jcache:2.8.0' See the release notes for details of the changes.
Snapshots of the development version are available inSonatype's snapshots repository .