你如何缓存分页结果&教义?

时间:2011-12-16 17:09:33

标签: zend-framework caching doctrine-orm zend-paginator

我正在使用Zend Framework& Zend_Paginator与Doctrine 2和DoctrineExtensions Paginate Adapter。

我需要缓存我的结果,但是,我不知道我应该在哪里这样做。

在Repository中执行此操作似乎合乎逻辑,但我尝试过它并不适用于paginator适配器。

你怎么去?

1 个答案:

答案 0 :(得分:0)

结帐Zend_Cache。有一些不同的适配器,包括文件,数据库和memcached - 但处理它的一般方法是:

$frontendOptions = array(
   'lifetime' => 7200, // cache lifetime of 2 hours
   'automatic_serialization' => true
);

$backendOptions = array(
    'cache_dir' => './tmp/' // Directory where to put the cache files
);

// getting a Zend_Cache_Core object
$cache = Zend_Cache::factory('Core',
                             'File',
                             $frontendOptions,
                             $backendOptions);

if( ($result = $cache->load('myresult')) === false ) {
  // fetch $result
  $cache->save($result, 'myresult');
}

$result不是缓存的var。