Koffein ist eine hohe Leistung, nahezu optimale Caching -Bibliothek. Weitere Informationen finden Sie im Handbuch unseres Benutzers und durchsuchen Sie die API -Dokumente, um die neueste Version zu erhalten.
Cache
Koffein bietet mithilfe einer von Google Guava inspirierten API einen In-Memory-Cache. Die Verbesserungen berücksichtigen unsere Erfahrung beim Entwerfen von Guaven -Cache und gleichzeitiger LinkedHasMap.
LoadingCache < Key , Graph > graphs = Caffeine . newBuilder ()
. maximumSize ( 10_000 )
. expireAfterWrite ( Duration . ofMinutes ( 5 ))
. refreshAfterWrite ( Duration . ofMinutes ( 1 ))
. build ( key -> createExpensiveGraph ( key ));
Merkmale auf einen Blick
Koffein bietet eine flexible Konstruktion, um einen Cache mit einer Kombination der folgenden optionalen Funktionen zu erstellen:
- Automatisches Laden von Einträgen in den Cache, optional asynchron
- Größenbasierte Räumung, wenn ein Maximum basierend auf Frequenz und Aktualität überschritten wird
- zeitbasierter Ablauf von Einträgen, gemessen seit dem letzten Zugriff oder zuletzt Schreiben
- Asynchron erfrischen, wenn die erste abgestandene Anfrage für einen Eintrag auftritt
- Tasten automatisch in schwache Referenzen eingewickelt
- Werte automatisch in schwache oder weiche Referenzen eingewickelt
- Benachrichtigung von ausgegebenen (oder anderweitig entfernten) Einträgen
- schreibt, die in eine externe Ressource propagiert ist
- Akkumulation von Cache -Zugriffsstatistiken
Darüber hinaus bietet Koffein die folgenden Erweiterungen an:
- JSR-107 JCache
- Guavenadapter
- Simulation
Verwenden Sie Koffein in einer Community, die Integration zur Verfügung stellt:
- Spielen Sie Framework: Web Framework mit hoher Geschwindigkeit
- Micronaut: Ein modernes, Vollstapel-Framework
- Federcache: Ab dem Frühling 4.3 & Boot 1.4
- Coroutines: Kotlin Coroutines Erweiterung
- Bootique: Eine schnelle, einfache Java -Plattform
- Quarkus: Überschall -subatomarer Java
- Kamel: Routing- und Mediationsmotor
- Scaffein: Scala -Wrapper für Koffein
- Skalacache: Einfaches Caching in Scala
- JHIPSTER: Generieren, Entwickeln, Bereitstellen
- Aedile: Kotlin -Wrapper für Koffein
Anstrengung der Infrastruktur in Ihrer Nähe:
- Dropwizard: OPS-freundlich, Hochleistungs-APIs, erholsame APIs
- Cassandra: Verwalten Sie massive Datenmengen, schnell
- Kohärenz: Mission Critical Critical In-Memory Data Grid
- Accumulo: Ein sortierter, verteilter Schlüssel-/Wertspeicher
- Kafka: Eine verteilte Event -Streaming -Plattform
- HBase: Ein verteilter, skalierbarer Big Data Store
- Apache Solr: Brichtend schneller Enterprise -Suche
- Infinispan: Verteilte In-Memory-Datenraster
- Redisson: Ultraschnelles In-Memory-Datenraster
- OpenWHISK: Serverlose Cloud -Plattform
- Korfu: Eine Cluster -Konsistenzplattform
- Grails: Groovy-basierter Web-Framework
- Finagle: Erweiterbares RPC -System
- NEO4J: Grafiken für alle
- Druid: Echtzeitanalytics
In den Nachrichten
- Eine eingehende Beschreibung der Koffeinarchitektur.
- Design eines modernen Cache: Teil Nr. 1, Teil Nr. 2 (Folien) bei hoher Skalierbarkeit
- Koffein wird im Rahmen von Forschungsarbeiten vorgestellt, in denen seine neuartige Räumungspolitik bewertet wird.
- Tinylfu: Eine hocheffiziente Cache -Zulassungsrichtlinie von Gil Einziger, Roy Friedman, Ben Mans
- Adaptive Software -Cache -Management von Gil Einziger, Ohad Eytan, Roy Friedman, Ben Mans
- Leichte robuste Größe des Cache -Cache -Managements von Gil Einziger, Ohad Eytan, Roy Friedman, Ben Mans
Herunterladen
Laden Sie von Maven Central herunter oder hängen über Gradle ab:
implementation( " com.github.ben-manes.caffeine:caffeine:3.1.8 " )
// Optional extensions
implementation( " com.github.ben-manes.caffeine:guava:3.1.8 " )
implementation( " com.github.ben-manes.caffeine:jcache:3.1.8 " )
Verwenden Sie für Java 11 oder höher 3.x
, sonst verwenden Sie 2.x
Weitere Informationen zu den Änderungen finden Sie in den Versionshinweise.
Snapshots der Entwicklungsversion sind im Snapshots -Repository von Sonatype verfügbar.