الكافيين هو أداء عالي ، بالقرب من مكتبة التخزين المؤقت الأمثل. لمزيد من التفاصيل ، راجع دليل المستخدم الخاص بنا وتصفح مستندات API لأحدث الإصدار.
مخبأ
يوفر Caffeine ذاكرة التخزين المؤقت في الذاكرة باستخدام واجهة برمجة تطبيقات مستوحاة من Google Goava. تعتمد التحسينات على تجربتنا في تصميم ذاكرة التخزين المؤقت في الجوافة و contrentLinkedHashMap.
LoadingCache < Key , Graph > graphs = Caffeine . newBuilder ()
. maximumSize ( 10_000 )
. expireAfterWrite ( Duration . ofMinutes ( 5 ))
. refreshAfterWrite ( Duration . ofMinutes ( 1 ))
. build ( key -> createExpensiveGraph ( key ));
ميزات في لمحة
يوفر الكافيين بناءًا مرنًا لإنشاء ذاكرة التخزين المؤقت مع مزيج من الميزات الاختيارية التالية:
- التحميل التلقائي للإدخالات في ذاكرة التخزين المؤقت ، اختياريا بشكل غير متزامن
- الإخلاء القائم على الحجم عندما يتم تجاوز الحد الأقصى على أساس التردد والتكرار
- انتهاء الصلاحية القائمة على الوقت للإدخالات ، تقاس منذ آخر وصول أو آخر الكتابة
- تحديث بشكل غير متزامن عند حدوث الطلب الأول الذي لا معنى له لإدخال
- مفاتيح ملفوفة تلقائيًا في مراجع ضعيفة
- القيم ملفوفة تلقائيًا في مراجع ضعيفة أو ناعمة
- إخطار الإدخالات المفروضة (أو إزالتها بطريقة أخرى)
- يكتب نشر إلى مورد خارجي
- تراكم إحصائيات الوصول إلى ذاكرة التخزين المؤقت
بالإضافة إلى ذلك ، يقدم الكافيين الامتدادات التالية:
- JSR-107 JCache
- محولات الجوافة
- محاكاة
استخدم الكافيين في مجتمع ما شريطة التكامل:
- إطار التشغيل: إطار عمل ويب عالي السرعة
- Micronaut: إطار عمل عصري كامل
- ذاكرة التخزين المؤقت الربيع: اعتبارًا من الربيع 4.3 والتمهيد 1.4
- كوروتين: امتداد كوتلين كوروتنس
- Bootique: منصة Java سريعة وبسيطة
- Quarkus: Java الأسرع من الصوت
- الإبل: محرك التوجيه والوساطة
- سكيافين: غلاف سكالا للكافيين
- Scalacache: التخزين المؤقت البسيط في سكالا
- JHipster: إنشاء ، تطوير ، نشر
- Aedile: غلاف Kotlin للكافيين
تشغيل البنية التحتية بالقرب منك:
- Dropwizard: واجهات برمجة التطبيقات الصديقة للعمليات
- كاساندرا: إدارة كميات هائلة من البيانات ، بسرعة
- التماسك: شبكة البيانات الحرجة في الذاكرة
- Accumulo: متجر مفتاح/قيمة موزعة مرتبة
- كافكا: منصة تدفق الأحداث الموزعة
- HBase: متجر بيانات موزع وقابل للتطوير
- Apache Solr: البحث السريع
- Infinispan: شبكة البيانات الموزعة في الذاكرة
- Redisson: شبكة بيانات في الذاكرة فائقة الذاكرة
- OpenWhisk: منصة سحابة بدون خادم
- Corfu: منصة تناسق الكتلة
- Grails: إطار الويب القائم على الروعة
- Finagle: نظام RPC قابل للتمديد
- Neo4J: الرسوم البيانية للجميع
- Druid: التحليلات في الوقت الحقيقي
في الأخبار
- وصف متعمق لهندسة الكافيين.
- تصميم ذاكرة التخزين المؤقت الحديثة: الجزء رقم 1 ، الجزء رقم 2 (الشرائح) في Highscalability
- يتم تقديم الكافيين كجزء من الأوراق البحثية التي تقوم بتقييم سياسة الإخلاء الجديدة.
- Tinylfu: سياسة قبول ذاكرة التخزين المؤقت ذات الكفاءة العالية من قبل جيل آينزيغر ، روي فريدمان ، بن مانيس
- إدارة ذاكرة التخزين المؤقت للبرامج التكيفية بواسطة جيل آينزيغر ، أوهاد إيتان ، روي فريدمان ، بن مانز
- إدارة ذاكرة التخزين المؤقت ذات الحجم الخفيف الحجم بواسطة جيل آينزيجر ، أوهاد إيتان ، روي فريدمان ، بن مانيس
تحميل
قم بتنزيل من Maven Central أو تعتمد عبر Gradle:
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 " )
لـ Java 11 أو أعلى ، استخدم 3.x
بطريقة أخرى استخدم 2.x
راجع ملاحظات الإصدار للحصول على تفاصيل التغييرات.
تتوفر لقطات من إصدار التطوير في مستودع لقطات Sonatype.