Как вы кешируете результаты нумерации страниц? - PullRequest
2 голосов
/ 16 декабря 2011

Я использую Zend Framework & Zend_Paginator с адаптером Doctrine 2 и DoctrineExtensions Paginate.

Мне нужно кэшировать мой результат, однако я не знаю, где мне это делать.

Мне кажется логичным сделать это в репозитории, но я попытался, и он не работает с адаптером paginator.

Как бы вы пошли?

1 Ответ

0 голосов
/ 19 января 2012

Выезд 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 - это не кэшированная переменная.

...