ben-manes/ caffeine
View on GitHubA high performance caching library for Java
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.
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));
Caffeine provides flexible construction to create a cache with a combination of the following optional features:
In addition, Caffeine offers the following extensions:
Use Caffeine in a community provided integration:
Powering infrastructure near you:
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.
No comments yet. Set the tone — say what you would want to know.