À propos du projet

Caffeine est une bibliothèque Java sous licence Apache-2.0 pour construire des caches en mémoire. Son API `Caffeine.newBuilder()` permet aux développeurs de configurer des caches avec une taille maximale, une expiration après écriture ou accès, un rafraîchissement après écriture, et une fonction de chargement pour les absences de cache. Les fonctionnalités documentées incluent : - Chargement automatique synchrone ou asynchrone des entrées - Éviction basée sur la taille utilisant la fréquence et la récence lorsqu'un maximum est dépassé - Expiration basée sur le temps selon le dernier accès ou la dernière écriture - Rafraîchissement asynchrone lorsqu'une première requête périmée arrive - Clés faibles et valeurs faibles ou douces - Notifications pour les entrées évincées ou supprimées autrement - Propagation des écritures vers une ressource externe - Statistiques d'accès au cache Le projet fournit des modules optionnels d'adaptation JSR-107 JCache et Guava, ainsi qu'un module de simulation. Il documente des intégrations communautaires avec Spring, Play Framework, Micronaut, Kotlin Coroutines, Bootique, Quarkus, Camel, des wrappers Scala et Kotlin, et JHipster. Le README liste également des systèmes d'infrastructure et de données qui l'utilisent, tels que Cassandra, Kafka, HBase, Solr, Infinispan, Neo4j et Druid. Caffeine est distribué via Maven Central et Gradle. Le README indique que la branche 3.x est destinée à Java 11 et supérieur, tandis que la 2.x prend en charge les versions antérieures de Java. Un guide utilisateur, une documentation API, des notes de version, des notes de benchmark et des articles sur l'architecture sont liés depuis le dépôt.