4.4. Zend_Cache后端
4.4.1. Zend_Cache_Backend_File
此后端把缓存纪录存储到文件中去(在一个选定的目录中).
可用的选项有 :
表 4.6. 文件后端选项
选项 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
cache_dir |
string |
'/tmp/' |
存放缓存文件的目录 |
file_locking |
boolean |
true |
启用/禁用文件锁定 : 在比较坏的情况下,能够避免缓存中断,但在多线程web服务器或者NFS文件系统中没有任何帮助. |
read_control |
boolean |
true |
启用/禁用读控制: 如果启用,控制键被嵌入到缓存文件中,并且这个键将与读取后计算出的值进行比较. |
read_control_type |
string |
'crc32' |
读控制类型 (仅在读控制启用时). 可用的值有: 'md5' (最好但最慢), 'crc32' (安全性稍差,但更快,更好的选择), 'adler32' (新选择,比 crc32 快), 'strlen' for a length only test (最快). |
hashed_directory_level |
int |
0 |
Hash目录结构层次: 0 表示"不使用hash的目录结构", 1 表示"一级目录结构" , 2表示"二级目录"... 次选项在你有成千上万的缓存文件是能够加速缓存.只有相关的基准测试才能帮助你选择合适的值.也许1或2是一个好的开始. |
hashed_directory_umask |
int |
0700 |
目录结构的Unix 掩码 |
file_name_prefix |
string |
'zend_cache' |
缓存文件前缀;小心使用此选项,因为当清除缓存时,在系统缓存目录(像 /tmp)中一个太generic的值将导致灾难. |
cache_file_umask |
int |
0700 |
缓存文件掩码 |
metatadatas_array_max_size |
int |
100 |
metadatas 数组的内部最大尺寸(除非你知道你在做什么,不要更改这个值) |
4.4.2. Zend_Cache_Backend_sqlite
此后端把缓存纪录存储到SQLite数据库中.
可用的选项有:
表 4.7. Sqlite 后端选项
选项 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
cache_db_complete_path (mandatory) |
string |
null |
SQLite数据库的完整和路径(包括文件名) |
automatic_vacuum_factor |
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. Memcached 后端选项
选项 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
servers |
array |
array(array('host' => 'localhost','port' => 11211, 'persistent' => true)) |
一个memcached服务器数组;其中每个memcached服务器描述为一个关联数组: 'host' => (string) : memcached服务器的名称, 'port' => (int) : memcached服务器端口, 'persistent' => (bool) : 是否使用到memcached服务器的持久连接 |
compression |
boolean |
false |
如果你想使用数据压缩,设置为true |
4.4.4. Zend_Cache_Backend_Apc
此后端通过 APC (Alternative PHP Cache) 扩展把缓存纪录存储于共享内存中 (当然为使用此后端,APC是需要的).
注意 : 使用此后端当设置"doNotTestCacheValidity=true"参数时,不支持"tags"
此后端没有选项.
4.4.5. Zend_Cache_Backend_Xcache
整个后端通过 XCache 扩展(它当然需要使用这个后端) 在共享内存里存储了缓存记录。
小心:用这个后端,目前不支持 ”tags“,因为 "doNotTestCacheValidity=true" 参数。
可用的选项如下:
表 4.9. Xcache backend 选项
选项 | 数据类型 | 缺省值 | 描述 |
---|---|---|---|
user |
string |
null |
xcache.admin.user, necessary for the clean() method |
password |
string |
null |
xcache.admin.pass (in clear form, not MD5), necessary for the clean() method |
4.4.6. Zend_Cache_Backend_ZendPlatform
本后端使用 Zend Platform产品的内容缓存API. 要使用此后端必须安装Zend Platform.
本后端支持标记(tags),但不支持 CLEANING_MODE_NOT_MATCHING_TAG
清除模式.
当使用Zend_Cache::factory()
方法时,在字 'Zend' 和 'Platform'之间使用字分隔符-- '-', '.', ' ', or '_'指定此后端:
$cache = Zend_Cache::factory('Core', 'Zend Platform');
此后端没有选项.