4.4. Zend_Cache后端

4.4.1. Zend_Cache_Backend_File

此后端把缓存纪录存储到文件中去(在一个选定的目录中).

可用的选项有 :

表 4.6. 可用选项

选项 数据类型 默认值 描述
cacheDir string '/tmp/' 存放缓存文件的目录
fileLocking boolean true 启用/禁用文件锁定 : 在比较坏的情况下,能够避免缓存中断,但在多线程Web服务器或者NFS文件系统中没有任何帮助.
readControl boolean true 启用/禁用读控制: 如果启用,控制键被嵌入到缓存文件中,并且这个键将与读取后计算出的值进行比较.
readControlType string 'crc32' 读控制类型 (仅在读控制启用时). 可用的值有: 'md5' (最好但最慢), 'crc32' (安全性稍差,但更快,更好的选择), 'strlen' for a length only test (最快).
hashedDirectoryLevel int 0 Hash目录结构层次: 0 表示"不使用hash的目录结构", 1 表示"一级目录结构" , 2表示"二级目录"... 次选项在你有成千上万的缓存文件是能够加速缓存.只有相关的基准测试才能帮助你选择合适的值.也许1或2是一个好的开始.
hashedDirectoryUmask int 0700 目录结构的Unix umask

4.4.2. Zend_Cache_Backend_Sqlite

此后端把缓存纪录存储到SQLite数据库中.

可用的选项有:

表 4.7. 可用选项

选项 数据类型 默认值 描述
cacheDBCompletePath (强制) string null SQLite数据库的完整和路径(包括文件名)
automaticVacuumFactor int 10 禁用 / 调整自动清理过程. 自动清理过程将对数据库文件进行碎片整理(and make it smaller) 当clean() 或则 delete() 被调用时 : 0 表示不自动清理; 1 表示自动清理(当调用 delete() 或者 clean() 方法时) ; x (整数) > 1 => 当调用 delete() 或者 clean() 方法时随机清理1到x次.

4.4.3. Zend_Cache_Backend_Memcached

本后端把缓存纪录存储到memcached服务器. memcached 是一个高性能的,分布式内存对象缓存系统.要使用此后端,你需要一个memecached守护进程(daemon)和 memcache PECL 扩展 .

注意 : 使用此后端当设置"doNotTestCacheValidity=true"参数时,不支持"tags"

可用的选项有:

表 4.8. 可用选项

选项 数据类型 默认值 描述
servers array array(array('host' => 'localhost','port' => 11211, 'persistent' => true)) 一个memcached服务器数组;其中每个memcached服务器描述为一个关联数组: 'host' => (string) : memcached服务器的名称, 'port' => (int) : memcached服务器端口, 'persistent' => (bool) : 是否使用到memcached服务器的持久连接
compression boolean flase 如果你想使用数据压缩,设置为true

4.4.4. Zend_Cache_Backend_APC

此后端通过 APC (Alternative PHP Cache) 扩展把缓存纪录存储于共享内存中 (当然为使用此后端,APC是需要的).

注意 : 使用此后端当设置"doNotTestCacheValidity=true"参数时,不支持"tags"

此后端没有选项.

4.4.5. Zend_Cache_Backend_ZendPlatform

本后端使用 Zend Platform 产品的内容缓存API. 要使用此后端必须安装Zend Platform.

本后端支持标记(tags),但不支持 CLEANING_MODE_NOT_MATCHING_TAG 清除模式.

此后端没有选项.