Github url

caffeine

by ben-manes

ben-manes /caffeine

A high performance caching library for Java 8

8.1K Stars 794 Forks Last release: about 1 month ago (v2.8.5) Apache License 2.0 1.2K Commits 45 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Build StatusCoverage StatusMaven CentralJavaDocLicenseStack Overflow

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 -&gt; createExpensiveGraph(key));
</key>

Features at a Glance

Caffeine provides flexible construction to create a cache with a combination of the following features: * automatic loading of entries into the cache, optionally asynchronously * size-based eviction when a maximum is exceeded based on frequency and recency * time-based expiration of entries, measured since last access or last write * asynchronously refresh when the first stale request for an entry occurs * keys automatically wrapped in weak references * values automatically wrapped in weak or soft references * notification of evicted (or otherwise removed) entries * writes propagated to an external resource * accumulation of cache access statistics

In addition, Caffeine offers the following extensions: * JSR-107 JCache * Guava adapters * Simulation

Use Caffeine in a community provided integration: * Play Framework: High velocity web framework * Micronaut: A modern, full-stack framework * Spring Cache: As of Spring 4.3 & Boot 1.4 * Akka: Build reactive applications easily * Quarkus: Supersonic Subatomic Java * Scaffeine: Scala wrapper for Caffeine * ScalaCache: Simple caching in Scala * Camel: Routing and mediation engine * JHipster: Generate, develop, deploy

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

Download

Download from Maven Central or depend via Gradle:

compile 'com.github.ben-manes.caffeine:caffeine:2.8.5' // Optional extensions compile 'com.github.ben-manes.caffeine:guava:2.8.5' compile 'com.github.ben-manes.caffeine:jcache:2.8.5'

See the release notes for details of the changes.

Snapshots of the development version are available inSonatype's snapshots repository.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.