一般使用工厂方式:Zend_Cache::factory()的创建缓存对象。
Zend_Cache::factory方法有四个参数: 前端类型,后端类型,前端参数,后端参数。
以下为页面缓存实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
class Zend_Controller_Shawn extends Zend_Controller_Action
{
public static $cache ;
public function init()
{
$frontendOptions = array (
'lifetime' => 3600, // 缓存寿命
'debug_header' => true, // true是打开debug,通常设为false
'regexps' => array (
'^/$' => array ( 'cache' => true), // 所有页面都缓存
'^/index/' => array ( 'cache' => true), // 缓存index下所有action页
'^/index/search' => array ( 'cache' => false), // 对search action不缓存
),
'default_options' => array (
'cache_with_get_variables' => true,
'cache_with_post_variables' => true,
'make_id_with_cookie_variables' => true, // 注意如果开了session要把这个打开
'cache_with_session_variables' => true, // 注意如果开了session要把这个打开
'cache_with_files_variables' => true,
'cache_with_cookie_variables' => true, // 注意如果开了session要把这个打开
)
);
$backendOptions = array ( 'cache_dir' => 'C:/www/zend/cache/' ); // 缓存存放路径,必须存在并可写
self:: $cache = Zend_Cache::factory( 'Page' , 'File' , $frontendOptions , $backendOptions );
self:: $cache ->start(); // 开始缓存
//如有需要,可以再其他页面进行缓存清理
Zend_Controller_Shawn:: $cache ->clean(Zend_Cache::CLEANING_MODE_ALL);
}
}
|
更多细节,可以参考 Zend 官方手册 http://framework.zend.com/manual/1.12/en/zend.cache.frontends.html