Skip to content

Latest commit

 

History

History
90 lines (73 loc) · 4.61 KB

README.md

File metadata and controls

90 lines (73 loc) · 4.61 KB

Build Status Coverage Status Maven Central JavaDoc License

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)
    .expireAfterAccess(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:

In the News

On the radar,

  • Spring Cache support is targeted for the Spring 4.3 / Boot 1.4 releases
  • Early discussions with Apache Cassandra shows promise towards adoption
  • Postgres is evaluating whether to port the cache

Download

Download from Maven Central or depend via Gradle:

compile 'com.github.ben-manes.caffeine:caffeine:2.0.3'

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

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