Skip to content

ben-manes/caffeine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

137dcf5 · Apr 20, 2025
Apr 20, 2025
Apr 20, 2025
Apr 20, 2025
Apr 18, 2025
Apr 20, 2025
Apr 15, 2025
Apr 18, 2025
Apr 18, 2025
Jan 10, 2022
Jul 10, 2022
Sep 2, 2024
Apr 24, 2023
Aug 4, 2019
Dec 16, 2024
Apr 16, 2025
Jul 17, 2023
Oct 11, 2020
Apr 8, 2015
Jan 18, 2025
Jan 18, 2025
Apr 15, 2025
Apr 12, 2025
Apr 12, 2025
Dec 25, 2024
Mar 25, 2025
Apr 15, 2025

Repository files navigation

Build Status Test Count Coverage Status Maven Central JavaDoc License Stack Overflow Revved up by Develocity

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:

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
  • 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

Download

Download from Maven Central or depend via Gradle:

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

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

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.