4.4. Zend_Cache backends

4.4.1. Zend_Cache_Backend_File

هذا الـ backend يقوم بحفظ الـ cache records فى ملفات (داخل مجلد يتم تحديده).

الـ options المتوفرة

جدول 4.6. الـ options المتوفرة لـ Zend_Cache_Backend_File

الـ Option الـ Data Type الـ Default Value الوصف
cacheDir string '/tmp/' المجلد حيث سيتم حفظ ملفات الـ cache
fileLocking boolean true تفعيل او إيقاف خاصية الـ fileLocking : تساعد فى تجنب تلف ملفات الـ cache و لكن لا تساعد عند العمل على multithread webservers او نظام ملفات NFS...
readControl boolean true تقوم بتفعيل او ايقاف الـ read control : إن تم تشغيله, سيتم اضافة control key فى ملف الـ cache و هذا الـ key "مفتاح" سيتم مقارنته مع الأخر الذى سيتم حسابه بعد قرائة الملف.
readControlType string 'crc32' نوع الـ read control (متوفر فقط إذا كانت read control مفعلة). القيم المتوفرة هى : "md5" الأفضل لكن الأبطء, "crc32" (اقل امانا لكن اسرع, الأختيار الأفضل), "strlen" لعمل اختبار طول فقط (الأسرع).
hashedDirectoryLevel int 0 Hashed directory structure level : 0 تعنى "no hashed directory structure", 1 تعنى "one level of directory", 2 تعنى "two levels"... هذا الـ option يمكن ان يرفع من سرعة اداء عملية الـ cache و ذلك فقط إن كنت تعمل مع الاف من ملفات الـ cache. ربما بعض القياسات ستساعدك فى تحديد افضل قيمة مناسبة لك. ربما 1 او 2 تعتبر بداية جيدة.
hashedDirectoryUmask int 0700 Umask للـ hashed directory structure

4.4.2. Zend_Cache_Backend_Sqlite

هذه الـ backend تقوم بحفظ الـ cache records فى قاعدة بيانات SQLite.

الـ options المتوفرة:

جدول 4.7. الـ options المتوفرة لـ Zend_Cache_Backend_Sqlite

الـ Option الـ Data Type الـ Default Value الوصف
cacheDBCompletePath (mandatory) string null المسار الكامل (مع اسم الملف) التى توجد به قاعدة بيانات SQLite.
automaticVacuumFactor int 10 تقوم بـ إيقاف / إدارة عملية تنظيم الفراغات التلقائية. عملية تنظيم الفراغات التلقائية تقوم بعمل defragment لملف قاعدة البيانات (و تجعله أصغر) عند إستدعاء ()clean أو ()delete : و 0 تعنى إيقاف عملية تنظيم الفراغات التلقائية ; 1 تعنى تشغيل عملية الإدارة (عند إستدعاء ()delete أو ()clean ) ; x (integer) > 1 => ستتم عملية تنظيم الفراغات عشوائياً مرة لكل x مرة من إستدعاء ()clean أو ()delete .

4.4.3. Zend_Cache_Backend_Memcached

هذه الـ backend تقوم بحفظ الـ cache records فى memcached server. memcached عبارة عن نظام caching للبيانات فى الذاكرة و يتميز بكفائته العالية. لتستخدم هذا الـ backend انت تحتاج memcached daemon و الـ memcache PECL extension.

احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن . (لأن "doNotTestCacheValidity=true")

الـ options المتوفرة :

جدول 4.8.  الـ options المتوفرة لـ Zend_Cache_Backend_Memcached

الـ Option الـ Data Type الـ Default Value الوصف
servers array array(array('host' => 'localhost','port' => 11211, 'persistent' => true)) An array of memcached servers ; each memcached server is described by an associative array : 'host' => (string) : اسم الـ memcached server, 'port' => (int) : الـ port الخاص بالـ memcached server, 'persistent' => (bool) : استخدام او عدم استخدام الـ persistant connections مع هذا الـ server.
compression boolean flase اعطها القيمة true إن اردت عمل ضغط للبيانت on-the-fly (إن صح التعبير "على الطاير").

4.4.4. Zend_Cache_Backend_APC

هذه الـ backend تقوم بحفظ الـ cache records فى ذاكرة مشتركة من خلال الـ extension المسمى APC (Alternative PHP Cache). (بالطبع ستحتاج هذه الـ extension لتستطيع استخدام هذه الـ backend)

احترس: مع هذا الـ backend الـ tags غير مدعومة الى الأن . (لأن "doNotTestCacheValidity=true")

لا يوجد options لهذه الـ backend