انتقل إلى المحتوى

التخزين المؤقت

يتضمن storh واجهات تخزين مؤقت صغيرة ولا يعتمد على أي تبعية وقت التشغيل:

PHP
use Storh\Cache;
use Storh\CacheValidation;

$docs = new Storh\DocStore($root, 'pages', cache: Cache::memory(maxEntries: 10000));
$docs = new Storh\DocStore($root, 'pages', cache: Cache::apcu('storh.pages'));
$docs = new Storh\DocStore(
    $root,
    'pages',
    cache: Cache::memory(maxEntries: 100000, maxBytes: 96 * 1024 * 1024),
    cache_validation: CacheValidation::TRUST
);

طبقات التخزين المؤقت:

  • سجلات DocStore التي فُك ترميزها
  • عمليات البحث السلبية عن السجلات المفقودة
  • بيانات SegmentedLog
  • فهارس المقاطع المتناثرة

أوضاع التحقق:

  • CacheValidation::STAT: التحقق من الوجود ووقت التعديل والحجم.
  • CacheValidation::HASH: التحقق من الوجود ووقت التعديل والحجم وتجزئة المحتوى.
  • CacheValidation::TRUST: تخطي التحقق من نظام الملفات عند العثور على نتيجة مخزنة مؤقتاً، والثقة بأن مثيل storh الحالي أو واجهة التخزين المؤقت المشتركة تنشر عمليات كتابة storh الصريحة.

STAT هو وضع التحقق السريع الافتراضي. استخدم HASH عندما يجب أن يتحقق كل وصول إلى الذاكرة المؤقتة أيضاً من محتوى الملف، بما في ذلك الكتابات بالحجم نفسه التي تحافظ على وقت التعديل. لا يمكن لـSTAT اكتشاف تغيير محتوى خارج النظام يحافظ على وقت التعديل والحجم معاً. أما TRUST فهو الوضع الأسرع لأعباء العمل ذات العملية الواحدة أو الذاكرة المؤقتة المشتركة؛ ولا يكتشف عمداً الملفات التي تتغير خارج storh.

يُحد Cache::memory() بعدد الإدخالات والبايتات. وعند عدم توفير maxBytes، تُشتق الميزانية من PHP الخاص بـmemory_limit.

Cache::apcu() اختياري. إذا لم يكن APCu متاحاً أو معطلاً لـSAPI الحالي، فإنه يعمل كواجهة تخزين مؤقت لا تنفذ أي إجراء.

متى تضيف واجهة تخزين مؤقت

يحتفظ DocStore دائماً بذاكرات مؤقتة صغيرة لكل مثيل للسجلات التي سبق أن قرأها أو كتبها، مع التحقق وفق الوضع المُعد. وتضيف الواجهة المرفقة ذاكرة مؤقتة تبقى بعد انتهاء المثيل: يساعد Cache::memory() العمليات طويلة الأمد التي تعيد فتح المخازن، بينما يشارك Cache::apcu() السجلات المفكوكة بين طلبات PHP-FPM. وتقيس اختبارات الأداء الواجهة الذاكرية بنحو 83 µs للقراءة الباردة مقابل 6 µs للقراءة الدافئة المتحقق منها عبر STAT.