{"id":13436592,"url":"https://github.com/ben-manes/caffeine","last_synced_at":"2026-10-18T22:01:12.000Z","repository":{"id":24548158,"uuid":"27954927","full_name":"ben-manes/caffeine","owner":"ben-manes","description":"A high performance caching library for Java","archived":false,"fork":false,"pushed_at":"2026-10-12T08:11:43.000Z","size":117274,"stargazers_count":17884,"open_issues_count":1,"forks_count":1724,"subscribers_count":360,"default_branch":"master","last_synced_at":"2026-10-12T10:20:44.059Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ben-manes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","accessibility":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":null,"gemini":null,"cursor":null,"copilot":".github/copilot-instructions.md","dco":null,"cla":null,"disclosure":null}},"created_at":"2014-12-13T08:45:11.000Z","updated_at":"2026-10-12T08:11:59.000Z","dependencies_parsed_at":"2026-09-27T10:46:41.489Z","dependency_job_id":"ccbfcd48-1dfa-47fe-badb-b2e617f84ddf","html_url":"https://github.com/ben-manes/caffeine","commit_stats":{"total_commits":2250,"total_committers":72,"mean_commits":31.25,"dds":"0.28933333333333333","last_synced_commit":"323e9020135afec093c83acb7f56e968074cfe26"},"previous_names":[],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/ben-manes/caffeine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ben-manes","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/sbom","scorecard":{"id":231230,"data":{"date":"2025-08-12T17:49:08Z","repo":{"name":"github.com/ben-manes/caffeine","commit":"c7ce4891c4ae85df6c8a68c9597014e43864a081"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/actionlint.yml:10","Info: jobLevel 'contents' permission set to 'read': .github/workflows/actionlint.yml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:53","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:78","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:110","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:135","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:88","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:141","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:194","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:247","Info: jobLevel 'contents' permission set to 'read': .github/workflows/benchmarks.yml:299","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:320","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/build.yml:321","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:386","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:50","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:80","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:216","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codacy.yml:11","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codacy.yml:12","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:22","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/codeql.yml:23","Info: jobLevel 'actions' permission set to 'read': .github/workflows/dependency-check.yml:18","Info: jobLevel 'contents' permission set to 'read': .github/workflows/dependency-check.yml:19","Info: jobLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:10","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dependency-submission-pr-retrieve.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/dependency-submission-pr-submit.yml:14","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dependency-submission.yml:14","Info: jobLevel 'actions' permission set to 'read': .github/workflows/devskim.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/devskim.yml:18","Info: jobLevel 'contents' permission set to 'read': .github/workflows/early-access.yml:40","Info: jobLevel 'contents' permission set to 'read': .github/workflows/examples.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/examples.yml:87","Info: jobLevel 'contents' permission set to 'read': .github/workflows/examples.yml:127","Info: jobLevel 'contents' permission set to 'read': .github/workflows/examples.yml:169","Info: jobLevel 'contents' permission set to 'read': .github/workflows/gitleaks.yml:20","Info: jobLevel 'contents' permission set to 'read': .github/workflows/gradle-wrapper-validation.yml:10","Info: jobLevel 'contents' permission set to 'read': .github/workflows/jcstress.yml:30","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/qodana.yml:14","Info: jobLevel 'actions' permission set to 'read': .github/workflows/qodana.yml:15","Info: jobLevel 'contents' permission set to 'read': .github/workflows/qodana.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yml:17","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards-analysis.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards-analysis.yml:18","Info: jobLevel 'actions' permission set to 'read': .github/workflows/semgrep.yml:13","Info: jobLevel 'contents' permission set to 'read': .github/workflows/semgrep.yml:14","Info: jobLevel 'actions' permission set to 'read': .github/workflows/snyk.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/snyk.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/spelling.yml:10","Info: jobLevel 'contents' permission set to 'read': .github/workflows/spelling.yml:34","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/spelling.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/trivy.yml:12","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/trivy.yml:10","Info: jobLevel 'actions' permission set to 'read': .github/workflows/trivy.yml:11","Info: found token with 'none' permissions: .github/workflows/actionlint.yml:1","Info: found token with 'none' permissions: .github/workflows/analysis.yml:1","Info: found token with 'none' permissions: .github/workflows/benchmarks.yml:1","Info: found token with 'none' permissions: .github/workflows/build.yml:1","Info: found token with 'none' permissions: .github/workflows/codacy.yml:1","Info: found token with 'none' permissions: .github/workflows/codeql.yml:1","Info: found token with 'none' permissions: .github/workflows/dependency-check.yml:1","Info: found token with 'none' permissions: .github/workflows/dependency-review.yml:1","Info: found token with 'none' permissions: .github/workflows/dependency-submission-pr-retrieve.yml:1","Info: found token with 'none' permissions: .github/workflows/dependency-submission-pr-submit.yml:1","Info: found token with 'none' permissions: .github/workflows/dependency-submission.yml:1","Info: found token with 'none' permissions: .github/workflows/devskim.yml:1","Info: found token with 'none' permissions: .github/workflows/early-access.yml:1","Info: found token with 'none' permissions: .github/workflows/examples.yml:1","Info: found token with 'none' permissions: .github/workflows/gitleaks.yml:1","Info: found token with 'none' permissions: .github/workflows/gradle-wrapper-validation.yml:1","Info: found token with 'none' permissions: .github/workflows/jcstress.yml:1","Info: found token with 'none' permissions: .github/workflows/qodana.yml:1","Info: found token with 'none' permissions: .github/workflows/release.yml:1","Info: found token with 'none' permissions: .github/workflows/scorecards-analysis.yml:1","Info: found token with 'none' permissions: .github/workflows/semgrep.yml:1","Info: found token with 'none' permissions: .github/workflows/snyk.yml:1","Info: found token with 'none' permissions: .github/workflows/spelling.yml:1","Info: found token with 'none' permissions: .github/workflows/trivy.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":10,"reason":"badge detected: Gold","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  65 out of  65 GitHub-owned GitHubAction dependencies pinned","Info:  73 out of  73 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool detected","details":["Info: SAST configuration detected: CodeQL","Info: SAST configuration detected: Qodana","Info: all commits (1) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"CI-Tests","score":10,"reason":"1 out of 1 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Branch-Protection","score":2,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'allow deletion' disabled on branch 'v2.dev'","Info: 'force pushes' disabled on branch 'master'","Warn: 'force pushes' enabled on branch 'v2.dev'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'v2.dev'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'v2.dev'","Warn: branch 'master' does not require approvers","Warn: codeowners review is not required on branch 'master'","Warn: codeowners review is not required on branch 'v2.dev'","Warn: 'last push approval' is disabled on branch 'master'","Warn: 'last push approval' is disabled on branch 'v2.dev'","Warn: 'up-to-date branches' is disabled on branch 'master'","Warn: 'up-to-date branches' is disabled on branch 'v2.dev'","Warn: no status checks found to merge onto branch 'master'","Warn: no status checks found to merge onto branch 'v2.dev'","Info: PRs are required in order to make changes on branch 'master'","Warn: PRs are not required to make changes on branch 'v2.dev'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Contributors","score":10,"reason":"project has 6 contributing companies or organizations","details":["Info: found contributions from: IBM, autostyle, google, netcracker, pgjdbc, withvector.com"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-17T04:54:29.471Z","repository_id":24548158,"created_at":"2025-08-17T04:54:29.472Z","updated_at":"2025-08-17T04:54:29.472Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343843146,"owners_count":38224161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-12T02:00:06.297Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:50.517Z","updated_at":"2026-10-18T22:01:11.993Z","avatar_url":"https://github.com/ben-manes.png","language":"Java","funding_links":[],"categories":["Java","Projects","HarmonyOS","高性能数据结构和算法","常用框架\\\u0026第三方库","Java（319）","缓存库","others","Memory and concurrency","项目","Technologies we used in the Microservices","Caching","二、核心功能库（解决具体开发问题）","\u003ca name=\"Java\"\u003e\u003c/a\u003eJava","Caching Libraries"],"sub_categories":["Caching","Windows Manager","FPS","缓存","4. 缓存"],"readme":"[![Build Status](https://github.com/ben-manes/caffeine/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/ben-manes/caffeine/actions?query=workflow%3Abuild+branch%3Amaster)\n[![Test Count](https://gist.githubusercontent.com/ben-manes/c20eb418f0e0bd6dfe1c25beb35faae4/raw/badge.svg)](https://github.com/ben-manes/caffeine/actions?query=workflow%3Abuild+branch%3Amaster)\n[![Coverage Status](https://coveralls.io/repos/github/ben-manes/caffeine/badge.svg?branch=master)](https://coveralls.io/github/ben-manes/caffeine?branch=master)\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.ben-manes.caffeine/caffeine?color=31c653\u0026label=maven%20central)](https://central.sonatype.com/artifact/com.github.ben-manes.caffeine/caffeine)\n[![JavaDoc](https://www.javadoc.io/badge/com.github.ben-manes.caffeine/caffeine.svg?color=31c653)](https://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine)\n[![License](https://img.shields.io/:license-apache-31c653.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)\n[![Revved up by Develocity](https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle\u0026labelColor=02303A)](https://caffeine.develocity.cloud/scans)\n\u003ca href=\"https://github.com/ben-manes/caffeine/wiki\"\u003e\n\u003cimg align=\"right\" height=\"90px\" src=\"https://raw.githubusercontent.com/ben-manes/caffeine/master/wiki/logo.png\"\u003e\n\u003c/a\u003e\n\nCaffeine is a [high performance][benchmarks], [near optimal][efficiency] caching library. For more\ndetails, see our [user's guide][users-guide] and browse the [API docs][javadoc] for the latest\nrelease.\n\n### Cache\n\nCaffeine provides an in-memory cache using a Google Guava inspired API. The improvements draw on our\nexperience designing [Guava's cache][guava-cache] and [ConcurrentLinkedHashMap][clhm].\n\n```java\nLoadingCache\u003cKey, Graph\u003e graphs = Caffeine.newBuilder()\n    .maximumSize(10_000)\n    .expireAfterWrite(Duration.ofMinutes(5))\n    .refreshAfterWrite(Duration.ofMinutes(1))\n    .build(key -\u003e createExpensiveGraph(key));\n```\n\n#### Features at a Glance\n\nCaffeine provides flexible construction to create a cache with a combination of the following\noptional features:\n\n* [automatic loading of entries][population] into the cache, optionally asynchronously\n* [size-based eviction][size] when a maximum is exceeded based on [frequency and recency][efficiency]\n* [time-based expiration][time] of entries, measured since last access or last write\n* [asynchronously refresh][refresh] when the first stale request for an entry occurs\n* keys automatically wrapped in [weak references][reference]\n* values automatically wrapped in [weak or soft references][reference]\n* [notification][listener] of evicted (or otherwise removed) entries\n* [writes propagated][compute] to an external resource\n* accumulation of cache access [statistics][statistics]\n\nIn addition, Caffeine offers the following extensions:\n\n* [JSR-107 JCache][jsr107]\n* [Guava adapters][guava-adapter]\n* [Simulation][simulator]\n\nUse Caffeine in a community provided integration:\n\n* [Spring Cache][spring]: Simple, modern, productive Java\n* [Play Framework][play]: High velocity web framework\n* [Micronaut][micronaut]: A modern, full-stack framework\n* [Coroutines][caffeine-coroutines]: Kotlin Coroutines extension\n* [Bootique][bootique]: A fast, simple Java platform\n* [Quarkus][quarkus]: Supersonic Subatomic Java\n* [Camel][camel]: Routing and mediation engine\n* [Scaffeine][scaffeine]: Scala wrapper for Caffeine\n* [JHipster][jhipster]: Generate, develop, deploy\n* [Aedile][aedile]: Kotlin wrapper for Caffeine\n\nPowering infrastructure near you:\n\n* [Dropwizard][dropwizard]: Ops-friendly, high-performance, RESTful APIs\n* [Cassandra][cassandra]: Manage massive amounts of data, fast\n* [Coherence][coherence]: Mission critical in-memory data grid\n* [Accumulo][accumulo]: A sorted, distributed key/value store\n* [Kafka][kafka]: A distributed event streaming platform\n* [HBase][hbase]: A distributed, scalable, big data store\n* [Apache Solr][solr]: Blazingly fast enterprise search\n* [Infinispan][infinispan]: Distributed in-memory data grid\n* [Redisson][redisson]: Ultra-fast in-memory data grid\n* [OpenWhisk][open-whisk]: Serverless cloud platform\n* [Corfu][corfu]: A cluster consistency platform\n* [Grails][grails]: Groovy-based web framework\n* [Finagle][finagle]: Extensible RPC system\n* [Neo4j][neo4j]: Graphs for Everyone\n* [Druid][druid]: Real-time analytics\n\n### In the News\n\n* An in-depth description of Caffeine's architecture.\n  * [Design of a Modern Cache: part #1][modern-cache-1], [part #2][modern-cache-2]\n    ([slides][modern-cache-slides]) at [HighScalability][]\n  * [The Adaptive Window, From the Ground Up][adaptive-window] on optimizing shifting workloads\n* Caffeine is presented as part of research papers evaluating its novel eviction policy.\n  * [TinyLFU: A Highly Efficient Cache Admission Policy][tinylfu]\n    by Gil Einziger, Roy Friedman, Ben Manes\n  * [Adaptive Software Cache Management][adaptive-tinylfu]\n    by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes\n  * [Lightweight Robust Size Aware Cache Management][size-tinylfu]\n    by Gil Einziger, Ohad Eytan, Roy Friedman, Ben Manes\n\n### Download\n\nDownload from [Maven Central][maven] or depend via Gradle:\n\n```gradle\nimplementation(\"com.github.ben-manes.caffeine:caffeine:3.3.1\")\n\n// Optional extensions\nimplementation(\"com.github.ben-manes.caffeine:guava:3.3.1\")\nimplementation(\"com.github.ben-manes.caffeine:jcache:3.3.1\")\n```\n\nFor Java 11 or above, use `3.x` otherwise use `2.x`.\n\nSee the [release notes][releases] for details of the changes.\n\nSnapshots of the development version are available in\n[Sonatype's snapshots repository][snapshots].\n\n[benchmarks]: https://github.com/ben-manes/caffeine/wiki/Benchmarks\n[users-guide]: https://github.com/ben-manes/caffeine/wiki\n[javadoc]: https://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine\n[guava-cache]: https://github.com/google/guava/wiki/CachesExplained\n[clhm]: https://github.com/ben-manes/concurrentlinkedhashmap\n[population]: https://github.com/ben-manes/caffeine/wiki/Population\n[size]: https://github.com/ben-manes/caffeine/wiki/Eviction#size-based\n[time]: https://github.com/ben-manes/caffeine/wiki/Eviction#time-based\n[refresh]: https://github.com/ben-manes/caffeine/wiki/Refresh\n[reference]: https://github.com/ben-manes/caffeine/wiki/Eviction#reference-based\n[listener]: https://github.com/ben-manes/caffeine/wiki/Removal\n[compute]: https://github.com/ben-manes/caffeine/wiki/Compute\n[statistics]: https://github.com/ben-manes/caffeine/wiki/Statistics\n[simulator]: https://github.com/ben-manes/caffeine/wiki/Simulator\n[guava-adapter]: https://github.com/ben-manes/caffeine/wiki/Guava\n[jsr107]: https://github.com/ben-manes/caffeine/wiki/JCache\n[maven]: https://central.sonatype.com/artifact/com.github.ben-manes.caffeine/caffeine\n[releases]: https://github.com/ben-manes/caffeine/releases\n[snapshots]: https://central.sonatype.org/publish/publish-portal-snapshots/#consuming-snapshot-releases-for-your-project\n[efficiency]: https://github.com/ben-manes/caffeine/wiki/Efficiency\n[tinylfu]: https://dl.acm.org/doi/10.1145/3149371?cid=99659224047\n[adaptive-tinylfu]: https://dl.acm.org/doi/10.1145/3274808.3274816?cid=99659224047\n[size-tinylfu]: https://dl.acm.org/doi/10.1145/3507920?cid=99659224047\n[modern-cache-1]: https://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html\n[modern-cache-2]: https://highscalability.com/blog/2019/2/25/design-of-a-modern-cachepart-deux.html\n[modern-cache-slides]: https://docs.google.com/presentation/d/1NlDxyXsUG1qlVHMl4vsUUBQfAJ2c2NsFPNPr2qymIBs\n[HighScalability]: https://highscalability.com\n[spring]: https://docs.spring.io/spring-framework/reference/integration/cache/store-configuration.html#cache-store-configuration-caffeine\n[scaffeine]: https://github.com/blemale/scaffeine\n[kafka]: https://kafka.apache.org\n[hbase]: https://hbase.apache.org\n[cassandra]: https://cassandra.apache.org\n[solr]: https://solr.apache.org/\n[infinispan]: https://infinispan.org\n[neo4j]: https://github.com/neo4j/neo4j\n[finagle]: https://github.com/twitter/finagle\n[druid]: https://druid.apache.org/docs/latest/configuration/index.html#cache-configuration\n[jhipster]: https://www.jhipster.tech/\n[open-whisk]: https://openwhisk.apache.org/\n[camel]: https://github.com/apache/camel/blob/master/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc\n[coherence]: https://docs.oracle.com/en/middleware/standalone/coherence/14.1.1.2206/develop-applications/implementing-storage-and-backing-maps.html#GUID-260228C2-371A-4B91-9024-8D6514DD4B78\n[corfu]: https://github.com/CorfuDB/CorfuDB\n[micronaut]: https://docs.micronaut.io/latest/guide/index.html#caching\n[play]: https://www.playframework.com/documentation/latest/JavaCache\n[redisson]: https://github.com/redisson/redisson\n[accumulo]: https://accumulo.apache.org\n[dropwizard]: https://www.dropwizard.io\n[grails]: https://grails.org\n[quarkus]: https://quarkus.io\n[aedile]: https://github.com/sksamuel/aedile\n[bootique]: https://bootique.io/\n[caffeine-coroutines]: https://github.com/be-hase/caffeine-coroutines\n[adaptive-window]: https://ben-manes.github.io/caffeine/wiki/adaptive-window.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fben-manes%2Fcaffeine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fben-manes%2Fcaffeine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fben-manes%2Fcaffeine/lists"}