Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.ben-manes:caffeine:3.1.8'
}
<dependency>
<groupId>com.github.ben-manes</groupId>
<artifactId>caffeine</artifactId>
<version>3.1.8</version>
</dependency>
libraryDependencies += "com.github.ben-manes" % "caffeine" % "3.1.8"
:dependencies [[com.github.ben-manes/caffeine "3.1.8"]]
<a href="https://github.com/ben-manes/caffeine/wiki"> <img align="right" height="90px" src="https://raw.githubusercontent.com/ben-manes/caffeine/master/wiki/logo.png"> </a>
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.1.8")
// Optional extensions
implementation("com.github.ben-manes.caffeine:guava:3.1.8")
implementation("com.github.ben-manes.caffeine:jcache:3.1.8")
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.