• Zend Framework缓存处理之-后端缓存
  • 虾米煮粥 发表于 2014/12/10 21:36:00 | 分类标签: Zend 缓存 后端缓存
  • Zend_Cache后端

     Zend_Cache_Backend_File

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

    可用的选项有 :

     文件后端选项

    选项 数据类型 默认值 描述
    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 数组的内部最大尺寸(除非你知道你在做什么,不要更改这个值)

    Zend_Cache_Backend_Sqlite

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

    可用的选项有:

    . 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次.

    Zend_Cache_Backend_Memcached

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

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

    可用的选项有:

     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

    Zend_Cache_Backend_Apc

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

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

    此后端没有选项.

     Zend_Cache_Backend_Xcache

    整个后端通过 XCache 扩展(它当然需要使用这个后端) 在共享内存里存储了缓存记录。

    小心:用这个后端,目前不支持 ”tags“,因为 "doNotTestCacheValidity=true" 参数。

    可用的选项如下:

    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

    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');
    
            

    此后端没有选项.

  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:虾米煮粥
  • 加入时间:2013/6/13 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮