프로젝트 소개

Caffeine은 Apache-2.0 라이선스의 인메모리 캐시 구축용 Java 라이브러리입니다. `Caffeine.newBuilder()` API를 통해 최대 크기, 쓰기 또는 접근 후 만료, 쓰기 후 새로고침, 캐시 미스 시 로딩 함수를 설정할 수 있습니다. 문서화된 기능은 다음과 같습니다. - 항목의 동기식 또는 비동기식 자동 로딩 - 최대 크기 초과 시 빈도와 최신성을 활용한 크기 기반 축출 - 마지막 접근 또는 마지막 쓰기 기준의 시간 기반 만료 - 첫 번째 오래된 요청 도착 시 비동기 새로고침 - 약한 키와 약하거나 소프트한 값 - 축출되거나 제거된 항목에 대한 알림 - 외부 리소스로의 쓰기 전파 - 캐시 접근 통계 이 프로젝트는 선택적 JSR-107 JCache 및 Guava 어댑터 모듈과 시뮬레이션 모듈을 제공합니다. Spring, Play Framework, Micronaut, Kotlin Coroutines, Bootique, Quarkus, Camel, Scala 및 Kotlin 래퍼, JHipster와의 커뮤니티 통합을 문서화하고 있습니다. README에는 Cassandra, Kafka, HBase, Solr, Infinispan, Neo4j, Druid 등 이를 사용하는 인프라 및 데이터 시스템도 나열되어 있습니다. Caffeine은 Maven Central과 Gradle을 통해 배포됩니다. README에 따르면 3.x 계열은 Java 11 이상용이며, 2.x는 이전 Java 버전을 지원합니다. 사용자 가이드, API 문서, 릴리스 노트, 벤치마크 노트, 아키텍처 문서가 저장소에서 링크되어 있습니다.