# Zend_Cache backends

## Zend_Cache_Backend_File

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

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

### الـ 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

## Zend_Cache_Backend_Sqlite

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

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

### الـ 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 .

## Zend_Cache_Backend_Memcached

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

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

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

### الـ 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 (إن صح التعبير "على الطاير").

## Zend_Cache_Backend_APC

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

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

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