BruceZu / caffeine

A high performance caching library for Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status Maven Central JavaDoc License Stack Overflow

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(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:

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

implementation 'com.github.ben-manes.caffeine:caffeine:3.0.2'

// Optional extensions
implementation 'com.github.ben-manes.caffeine:guava:3.0.2'
implementation 'com.github.ben-manes.caffeine:jcache:3.0.2'

See the release notes for details of the changes.

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

About

A high performance caching library for Java

License:Apache License 2.0


Languages

Language:Java 97.7%Language:Shell 2.3%