Об этом проекте
Caffeine — это библиотека Java для создания кэшей в памяти, распространяемая под лицензией Apache-2.0. Её API `Caffeine.newBuilder()` позволяет разработчикам настраивать кэши с указанием максимального размера, истечения срока действия после записи или доступа, обновления после записи, а также функции загрузки для пропусков кэша.
Документированные возможности включают:
- Синхронную или асинхронную автоматическую загрузку записей
- Вытеснение на основе размера с учётом частоты и давности использования при превышении максимума
- Истечение срока действия на основе времени последнего доступа или последней записи
- Асинхронное обновление при поступлении первого устаревшего запроса
- Слабые ключи и слабые или мягкие значения
- Уведомления о вытесненных или иным образом удалённых записях
- Передачу записей во внешний ресурс
- Статистику доступа к кэшу
Проект предоставляет опциональные модули адаптеров для JSR-107 JCache и Guava, а также модуль симуляции. В документации описаны интеграции с сообществом: Spring, Play Framework, Micronaut, Kotlin Coroutines, Bootique, Quarkus, Camel, обёртки для Scala и Kotlin, а также JHipster. В README также перечислены инфраструктурные и системы данных, использующие Caffeine, такие как Cassandra, Kafka, HBase, Solr, Infinispan, Neo4j и Druid.
Caffeine распространяется через Maven Central и Gradle. В README указано, что версия 3.x предназначена для Java 11 и выше, а 2.x поддерживает более старые версии Java. Из репозитория доступны ссылки на руководство пользователя, документацию API, примечания к выпускам, заметки о бенчмарках и статьи по архитектуре.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.