Sobre o projeto

Caffeine é uma biblioteca Java licenciada sob Apache-2.0 para construir caches em memória. Sua API `Caffeine.newBuilder()` permite aos desenvolvedores configurar caches com tamanho máximo, expiração após escrita ou acesso, refresh após escrita e uma função de carregamento para falhas de cache. As capacidades documentadas incluem: - Carregamento automático síncrono ou assíncrono de entradas - Remoção baseada em tamanho usando frequência e recência quando um máximo é excedido - Expiração baseada em tempo com base no último acesso ou última escrita - Refresh assíncrono quando a primeira requisição obsoleta chega - Chaves fracas e valores fracos ou suaves - Notificações para entradas removidas por evicção ou outros motivos - Propagação de escritas para um recurso externo - Estatísticas de acesso ao cache O projeto fornece módulos adaptadores opcionais JSR-107 JCache e Guava, além de um módulo de simulação. Ele documenta integrações da comunidade com Spring, Play Framework, Micronaut, Kotlin Coroutines, Bootique, Quarkus, Camel, wrappers Scala e Kotlin, e JHipster. O README também lista sistemas de infraestrutura e dados que o utilizam, como Cassandra, Kafka, HBase, Solr, Infinispan, Neo4j e Druid. Caffeine é distribuído através do Maven Central e Gradle. O README afirma que a linha 3.x é para Java 11 e superior, enquanto 2.x suporta versões mais antigas do Java. Um guia do usuário, documentação da API, notas de lançamento, notas de benchmark e artigos de arquitetura estão vinculados no repositório.