Zend_Cache 的基本用法
来源:互联网 发布:36氪源码 编辑:程序博客网 时间:2024/06/05 18:41
简单研究了一下Zend_Cache的用法,特留存于此 Zend_Cache有两部分组成:前端和后端,前端用于操作缓存,后端提供缓存的存储方式。 Zend_Cache的基本使用方式 一般使用工厂方式:Zend_Cache::factory()的创建缓存对象。 Zend_Cache::factory方法有四个参数: 前端类型,后端类型,前端参数,后端参数。 前端类型有:
- Core 这是前端的核心缓存,前端的其他类型缓存都继承自Core,缓存变量或数组就用到这个了。
- File 缓存文件,没有研究具体用途
- Output 捕获并缓存输出,这个做页面局部缓存很有用,个人认为缺点是需要在视图中写入相应的代码。
- Page 缓存页面,对提高效率帮助很大,因为一但命中缓存,就直接读取缓存并输出,不再执行后面的代码。可以设定session,cookie,get,post 作为产生cache_id的干扰码。比如不同的cookie产生不同的缓存页面。缺点是只能整个页面缓存,不能像smarty那样实现整页缓存,但是可以 控制局部不缓存。
- Class 缓存静态类和对象。
- Function 缓存函数。
- APC
- File
- Memcached
- Sqlite
- Xcache
- ZendPlatform
一目了然,大部分人经常会用到的应该是是File和Memcached。 前端参数和后端参数,不同前后端类型有不同的参数,详情请查看官方手册 http://framework.zend.com/manual/en/zend.cache.frontends.html。 具体实例(数组缓存和页面缓存)
一.前端类型为Core, 后端类型File的缓存对象的创建及使用
<?php$frontend = 'Core';$frontendOptions = array( 'caching' => true, //开启缓存,调试程序的时候可以设为false 'lifetime' =>3600, //缓存生命期 'automatic_serialization' => true //自动序列化,存储数组或者对象数据时一定要打开);$backend = 'File';$backendOptions => array( 'cache_dir' => '/tmp', //存放路径 'file_name_prefix' =>'page_cache' //缓存文件前缀,默认为zend_cache)//实例化缓存对象$coreCache = Zend_Cache::factroy($frontend, $backend, $frontendOptions, $backednOptions);//如果命中id为news_list的缓存直接得到$newsList,未命中执行大括号内的代码if (!$newsList = $coreCache->load('news_list')) { //查询数据库,得到$newsList //....省略 //缓存$newslist至缓存,id为news_list $coreCache->save($newsList, 'news_list'); }?>
二、前端类型为Page,后端依然为File的实例
<?php$frontend = 'Page';$frontendOptions = array( 'caching' => true, //开启缓存,调试程序的时候可以设为false 'lifetime' => 3600, //缓存生命期 //需要使用页面缓存的url匹配规则 'regexps' => array( //首页的url匹配 '^/(index|index/)?' =>array( 'cache' => true, 'cache_with_session_variables' => false, //如果存在session变量不缓存 'cache_with_cookie_variables' => true, //如果存在cookie变量缓存 'make_id_with_cookie_variables' => false //不使用cookie变量作为id的干扰码 ) ));$backend = 'File';$backendOptions => array( 'cache_dir' => '/tmp', //存放路径 'file_name_prefix' => 'page_cache' //缓存文件前缀,默认为zend_cache)//实例化页面缓存对象$pageCache = Zend_Cache::factroy($frontend, $backend, $frontendOptions, $backednOptions);//如果命中缓存,直接输出缓存内容,并终止程序,后面的代码将不被执行,如果未命中,捕获输出并写入缓存。$pageCache->start();?>
- Zend_Cache 的基本用法
- Zend_Cache 的基本用法
- Zend_Cache 用法
- zend_cache用法总结(1)
- Zend_Cache的使用
- Zend_Cache的使用
- Zend_Cache
- Zend Framework 的缓存模块 Zend_Cache 使用
- Zend_Cache的前端和后端怎么设置
- Zend_Cache注解
- Zend_Cache缓存
- rpm的基本用法
- sfc的基本用法
- vi 的基本用法
- JProgressBar 的基本用法
- NPlot的基本用法
- JAR的基本用法
- tar的基本用法
- 移动层实例
- IBM x3650安裝Solaris 10(08/07)
- 每天对着电脑4-6小时的人必看
- 服务器配置常见误区
- ASP.NET系统用户权限设计与实现
- Zend_Cache 的基本用法
- 编码格式导致javascript执行错误
- 求助。VC++
- 随滚动条滚动而移动的层
- hello csdn...开山第一博
- 随滚动条滚动而移动的层(弹性菜单)
- Java程序的性能优化概述
- javascript 之 select下拉框
- strust2实践总结