Zend Framework页面缓存实例
author:一佰互联 2019-04-29   click:143

一般使用工厂方式:Zend_Cache::factory()的创建缓存对象。
 
Zend_Cache::factory方法有四个参数: 前端类型,后端类型,前端参数,后端参数。
 
以下为页面缓存实例:

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