服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - Zend Framework页面缓存实例

Zend Framework页面缓存实例

2020-07-11 15:39PHP编程实例 PHP教程

这篇文章主要介绍了Zend Framework页面缓存实例,使用Zend缓存对象Zend_Cache实现,需要的朋友可以参考下

一般使用工厂方式: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
 

延伸 · 阅读

精彩推荐