2

我将 Zend Framework 和 Zend_Paginator 与 Doctrine 2 和 DoctrineExtensions Paginate Adapter 一起使用。

我需要缓存我的结果,但是,我不知道我应该在哪里执行此操作。

在存储库中执行此操作对我来说似乎是合乎逻辑的,但我尝试过,但它不适用于分页器适配器。

你会怎么走?

4

1 回答 1

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不是缓存的变量。

于 2012-01-19T17:54:51.427 回答