zend_cache用法总结(1)
来源:互联网 发布:数据清新图 编辑:程序博客网 时间:2024/06/06 00:33
使用zend_cache中的Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions)的几种方法
,此种方法使用于与用户无关的公共页面的页面静态化
一、写在index.php中
1、在index.php中加入以下代码
require_once 'Zend/Registry.php';
require_once 'Zend/Cache.php';
if (false == Zend_Registry::isRegistered('pagefileCache')) {
$frontendOptions = array(
'lifetime' => 24*3600, // 缓存寿命
'debug_header' => true, // true是打开debug,通常设为false
'regexps' => array(
'/' => array('cache' => true), // 所有的controller都缓存
'/index/' => array('cache'=>false), //首页不缓存(已做了用户持基信息缓存,和
局部页面缓存)
'/wdjk/' => array('cache'=>false), //我的金库不缓存(同上)
'/blnc/' => array('cache'=>false), //博览内参不缓存(有权限,等待测试)
'/zxzx/' => array('cache'=>false), //资讯中心不缓存(有权限,等待测试)
'/funddatabase/' => array('cache'=>true), //基金数据库缓存
'/knowledge/' => array('cache'=>true), //知识库缓存
),
'default_options' => array(
'cache_with_get_variables' => true, //cache_with_*默认值为false,
make_id_with_*默认值为true
'cache_with_post_variables' => true,
'cache_with_files_variables' => true,
'cache_with_session_variables' => true, // 注意如果开了session要把这个打开
'cache_with_cookie_variables' => true, // 注意如果开了session要把这个打开
'make_id_with_cookie_variables' => false, // 注意如果开了session要把这个打开
'make_id_with_session_variables' => false, // 注意如果开了session要把这个打开
)
);
$backendOptions = array(
'cache_dir' => 'D:/page', // 缓存存放路径,必须存在并可写
);
$cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
Zend_Registry::set('pagefileCache', $cache);
}
2、在想要缓存的controller里面的init方法里面加入
$cache=Zend_Registry::get('pagefileCache');
$cache->start();
二、写在Bootstrap.php中
1、在Bootstrap.php中加入一个缓存方法
public function getPageFileCache()
{
if (false == Zend_Registry::isRegistered('pagefileCache')) {
$frontendOptions = array(
'lifetime' => 24*3600, // 缓存寿命
'debug_header' => true, // true是打开debug,通常设为false
'regexps' => array(
'/' => array('cache' => true), // 所有的controller都
缓存
'/index/' => array('cache'=>false), //此页面不缓存
'/knowledge/' => array('cache'=>true), //此页面缓存
),
'default_options' => array(
'cache_with_get_variables' => true,
'cache_with_post_variables' => true,
'cache_with_files_variables' => true,
'cache_with_session_variables' => true,
'cache_with_cookie_variables' => true,
'make_id_with_cookie_variables' => false,
'make_id_with_session_variables' => false,
)
);
$backendOptions = array(
'cache_dir' => 'D:/page',
);
$cache = Zend_Cache::factory('Page', 'File', $frontendOptions,
$backendOptions);
Zend_Registry::set('pagefileCache', $cache);
return $cache;
} else {
return Zend_Registry::get('pagefileCache');
}
}
2、在index.php页面里面new一个$bootstrap对象备用
if(false == Zend_Registry::isRegistered('bootstrap')) {
$bootstrap = new Bootstrap($application);
Zend_Registry::set('bootstrap', $bootstrap);
}
3、在想要缓存的controller里面的init方法里面加入
$bootstrap = Zend_Registry::get('bootstrap');
$cache = $bootstrap->getPageFileCache();
$cache->start();
三、封装为一个类里面的一个方法,在controller里面的init方法调用即可
注意:之前发现一个问题就是'regexps'中的设置没有效果,后来发现是正则匹配错了。网上的例子都是'^/index/' => array('cache'=>false),而正则中“^”表示以某字符串开头。使用的时候要注意。
- zend_cache用法总结(1)
- Zend_Cache 用法
- Zend_Cache 的基本用法
- Zend_Cache 的基本用法
- Zend_Cache
- Zend_Cache注解
- Zend_Cache缓存
- Zend_Cache的使用
- Zend_Cache的使用
- Zend Framework1-Zend_Cache
- C# 用法总结 1
- Zend Framework 的缓存模块 Zend_Cache 使用
- Zend_Cache的前端和后端怎么设置
- 如何使用zend framework中Zend_Cache ?
- 【STL容器-vector用法总结(1)】
- const用法总结
- static用法总结
- PropertyGrid用法总结
- AutoCompleteTextView 实现自定义匹配规则提示
- boost::intrusive_ptr原理介绍
- MySQL使用初步
- VisualVM
- BMP文件详解
- zend_cache用法总结(1)
- java基础整理2--循环语句的使用
- aop log4j mdc实现自定义字段存入数据库
- fsck在数据恢复中的作用
- android 代码阅读--1
- php导出excel
- 使用Linux Shell操作Mysql的方法
- SQLServer varchar转换为int 字符串转换为数值型/整形
- as3总结(1)