[![Build Status](https://github.com/ben-manes/caffeine/workflows/build/badge.svg)](https://github.com/ben-manes/caffeine/actions?query=workflow%3Abuild+branch%3Amaster)
[![Test Count](https://gist.githubusercontent.com/ben-manes/c20eb418f0e0bd6dfe1c25beb35faae4/raw/badge.svg)](https://github.com/ben-manes/caffeine/actions?query=workflow%3Abuild+branch%3Amaster)
[![Coverage Status](https://img.shields.io/coveralls/ben-manes/caffeine.svg)](https://coveralls.io/r/ben-manes/caffeine?branch=master)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.ben-manes.caffeine/caffeine/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.ben-manes.caffeine/caffeine)
[![JavaDoc](https://www.javadoc.io/badge/com.github.ben-manes.caffeine/caffeine.svg)](http://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine)
[![License](https://img.shields.io/:license-apache-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
[![Stack Overflow](https://img.shields.io/:stack%20overflow-caffeine-brightgreen.svg)](http://stackoverflow.com/questions/tagged/caffeine)
[![Revved up by Develocity](https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A)](https://caffeine.gradle-enterprise.cloud/scans)
<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][benchmarks], [near optimal][efficiency] caching library. For more
details, see our [user's guide][users-guide] and browse the [API docs][javadoc] 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][guava-cache] and [ConcurrentLinkedHashMap][clhm].
```java
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:
* [automatic loading of entries][population] into the cache, optionally asynchronously
* [size-based eviction][size] when a maximum is exceeded based on [frequency and recency][efficiency]
* [time-based expiration][time] of entries, measured since last access or last write
* [asynchronously refresh][refresh] when the first stale request for an entry occurs
* keys automatically wrapped in [weak references][reference]
* values automatically wrapped in [weak or soft references][reference]
* [notification][listener] of evicted (or otherwise removed) entries
* [writes propagated][compute] to an external resource
* accumulation of cache access [statistics][statistics]
In addition, Caffeine offers the following extensions:
* [JSR-107 JCache][jsr107]
* [Guava adapters][guava-adapter]
* [Simulation][simulator]
Use Caffeine in a community provided integration:
* [Play Framework][play]: High velocity web framework
* [Micronaut][micronaut]: A modern, full-stack framework
* [Spring Cache][spring]: As of Spring 4.3 & Boot 1.4
* [Quarkus][quarkus]: Supersonic Subatomic Java
* [Scaffeine][scaffeine]: Scala wrapper for Caffeine
* [ScalaCache][scala-cache]: Simple caching in Scala
* [Camel][camel]: Routing and mediation engine
* [JHipster][jhipster]: Generate, develop, deploy
* [Aedile][aedile]: Kotlin wrapper for Caffeine
Powering infrastructure near you:
* [Dropwizard][dropwizard]: Ops-friendly, high-performance, RESTful APIs
* [Cassandra][cassandra]: Manage massive amounts of data, fast
* [Coherence][coherence]: Mission critical in-memory data grid
* [Accumulo][accumulo]: A sorted, distributed key/value store
* [Kafka][kafka]: A distributed event streaming platform
* [HBase][hbase]: A distributed, scalable, big data store
* [Apache Solr][solr]: Blazingly fast enterprise search
* [Infinispan][infinispan]: Distributed in-memory data grid
* [Redisson][redisson]: Ultra-fast in-memory data grid
* [OpenWhisk][open-whisk]: Serverless cloud platform
* [Corfu][corfu]: A cluster consistency platform
* [Grails][grails]: Groovy-based web framework
* [Finagle][finagle]: Extensible RPC system
* [Neo4j][neo4j]: Graphs for Everyone
* [Druid][druid]: Real-time analytics
### In the News
* An in-depth description of Caffeine's architecture.
* [Design of a Modern Cache: part #1][modern-cache-1], [part #2][modern-cache-2]
([slides][modern-cache-slides]) at [HighScalability][HighScalability]
* Caffeine is presented as part of research papers evaluating its novel eviction policy.
* [TinyLFU: A Highly Efficient Cache Admission Policy][tinylfu]
by Gil Einziger, Roy Friedman, Ben Manes
* [Adaptive Software Cache Management][adaptive-tinylfu]
by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes
* [Lightweight Robust Size Aware Cache Management][size-tinylfu]
by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes
### Download
Download from [Maven Central][maven] or depend via Gradle:
```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][releases] for details of the changes.
Snapshots of the development version are available in
[Sonatype's snapshots repository][snapshots].
[benchmarks]: https://github.com/ben-manes/caffeine/wiki/Benchmarks
[users-guide]: https://github.com/ben-manes/caffeine/wiki
[javadoc]: http://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine
[guava-cache]: https://github.com/google/guava/wiki/CachesExplained
[clhm]: https://github.com/ben-manes/concurrentlinkedhashmap
[population]: https://github.com/ben-manes/caffeine/wiki/Population
[size]: https://github.com/ben-manes/caffeine/wiki/Eviction#size-based
[time]: https://github.com/ben-manes/caffeine/wiki/Eviction#time-based
[refresh]: https://github.com/ben-manes/caffeine/wiki/Refresh
[reference]: https://github.com/ben-manes/caffeine/wiki/Eviction#reference-based
[listener]: https://github.com/ben-manes/caffeine/wiki/Removal
[compute]: https://github.com/ben-manes/caffeine/wiki/Compute
[statistics]: https://github.com/ben-manes/caffeine/wiki/Statistics
[simulator]: https://github.com/ben-manes/caffeine/wiki/Simulator
[guava-adapter]: https://github.com/ben-manes/caffeine/wiki/Guava
[jsr107]: https://github.com/ben-manes/caffeine/wiki/JCache
[maven]: https://maven-badges.herokuapp.com/maven-central/com.github.ben-manes.caffeine/caffeine
[releases]: https://github.com/ben-manes/caffeine/releases
[snapshots]: https://oss.sonatype.org/content/repositories/snapshots/com/github/ben-manes/caffeine/
[efficiency]: https://github.com/ben-manes/caffeine/wiki/Efficiency
[tinylfu]: https://dl.acm.org/doi/10.1145/3149371?cid=99659224047
[adaptive-tinylfu]: https://dl.acm.org/doi/10.1145/3274808.3274816?cid=99659224047
[size-tinylfu]: https://dl.acm.org/doi/10.1145/3507920?cid=99659224047
[modern-cache-1]: http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html
[modern-cache-2]: http://highscalability.com/blog/2019/2/25/design-of-a-modern-cachepart-deux.html
[modern-cache-slides]: https://docs.google.com/presentation/d/1NlDxyXsUG1qlVHMl4vsUUBQfAJ2c2NsFPNPr2qymIBs
[highscalability]: http://highscalability.com
[spring]: https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache-store-configuration-caffeine
[scala-cache]: https://github.com/cb372/scalacache
[scaffeine]: https://github.com/blemale/scaffeine
[kafka]: https://kafka.apache.org
[hbase]: https://hbase.apache.org
[cassandra]: http://cassandra.apache.org
[solr]: https://solr.apache.org/
[infinispan]: https://infinispan.org
[neo4j]: https://github.com/n
没有合适的资源?快使用搜索试试~ 我知道了~
A high performance caching library for Java.zip
共789个文件
java:597个
kts:38个
yml:23个
需积分: 0 0 下载量 195 浏览量
2023-12-29
20:45:15
上传
评论
收藏 93.03MB ZIP 举报
温馨提示
java
资源推荐
资源详情
资源评论
收起资源包目录
A high performance caching library for Java.zip (789个子文件)
gradlew.bat 3KB
gradlew.bat 3KB
gradlew.bat 3KB
gradlew.bat 3KB
gradlew.bat 3KB
gradlew.bat 3KB
clock-pro.c 20KB
lirs.c 12KB
javax.cache.spi.CachingProvider 64B
reference.conf 16KB
reference.conf 6KB
application.conf 2KB
application.conf 382B
extra-invalid.conf 39B
invalid.conf 39B
.editorconfig 203B
ExcludeList 351B
.gitattributes 81B
.gitignore 204B
gradle-enterprise.gradle 1KB
gradlew 8KB
gradlew 8KB
gradlew 8KB
gradlew 8KB
gradlew 8KB
gradlew 8KB
trace_vaultservice_large.gz 10.72MB
mcf.trace.gz 1.63MB
trace_vaultservice.gz 785KB
gzip.trace.gz 769KB
gcc.trace.gz 399KB
twolf.trace.gz 306KB
swim.trace.gz 199KB
2_pools.trace.gz 167KB
sprite.trace.gz 144KB
multi3.trace.gz 51KB
multi2.trace.gz 43KB
multi1.trace.gz 22KB
loop.trace.gz 17KB
zigzag.trace.gz 10KB
ps.trace.gz 7KB
scan.trace.gz 6KB
gli.trace.gz 6KB
cpp.trace.gz 5KB
cs.trace.gz 3KB
backf.trace.gz 3KB
lirs.h 3KB
clock-pro.h 3KB
gradle-wrapper.jar 42KB
gradle-wrapper.jar 42KB
gradle-wrapper.jar 42KB
gradle-wrapper.jar 42KB
gradle-wrapper.jar 42KB
gradle-wrapper.jar 42KB
BoundedLocalCache.java 159KB
AsyncAsMapTest.java 118KB
AsMapTest.java 118KB
BoundedLocalCacheTest.java 116KB
JSR166TestCase.java 83KB
ExpirationTest.java 82KB
CacheLoadingTest.java 78KB
ExpireAfterVarTest.java 72KB
ConcurrentHashMapV7.java 64KB
MapIterableTestCase.java 59KB
Caffeine.java 59KB
ReferenceTest.java 56KB
EvictionTest.java 56KB
LoadingCacheTest.java 51KB
AsyncCacheTest.java 47KB
CacheTest.java 45KB
RefreshAfterWriteTest.java 44KB
Policy.java 43KB
UnifiedMapAcceptanceTest.java 43KB
LocalAsyncCache.java 41KB
CacheProxy.java 41KB
ConcurrentHashMap8Test.java 39KB
Collection8Test.java 39KB
UnboundedLocalCache.java 35KB
CaffeineTest.java 31KB
ExpireAfterAccessTest.java 31KB
LinkedDequeTest.java 30KB
MutableMapIterableTestCase.java 30KB
ExpireAfterWriteTest.java 30KB
AsyncLoadingCacheTest.java 29KB
CacheSpec.java 27KB
ConcurrentHashMapTest.java 27KB
CacheBuilderTest.java 24KB
GuavaCacheFromContext.java 23KB
UnifiedMapTestCase.java 23KB
ClockProPlusPolicy.java 23KB
TimerWheelTest.java 22KB
MpscGrowableArrayQueue.java 22KB
CaffeineConfiguration.java 21KB
ClockProPolicy.java 21KB
CacheExpirationTest.java 18KB
CaffeineSpecGuavaTest.java 17KB
CacheContextSubject.java 17KB
CacheBuilderGwtTest.java 17KB
LocalCacheSubject.java 16KB
LirsPolicy.java 16KB
共 789 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
zero2100
- 粉丝: 163
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功