Zend Framework 1 - Zend Caching
Я работаю над оптимизацией Zend Framework Application с помощью Doctrine ORM. Я не могу понять, какой именно код я бы использовал в своем контроллере для получения этого кэширования. Всякий раз, когда я передаю снова тот же URL-адрес, он должен использовать кеш-код вместо повторной обработки этой логики.
Мой файл Bootstrap для кеша выглядит так:
protected function _initCache() {
$frontendOptions = array(
'lifetime' => 7200, 'content_type_memorization' => true,
'default_options' => array(
'cache' => true,
'cache_with_get_variables' => true,
'cache_with_post_variables' => true,
'cache_with_session_variables' => true,
'cache_with_cookie_variables' => true, ),
'regexps' => array(
// cache the whole IndexController
'^/.*' => array('cache' => true),
'^/index/' => array('cache' => true),
// place more controller links here to cache them
)
);
$backendOptions = array(
'cache_dir' => APPLICATION_PATH ."/../cache" // Directory where to put the cache files
);
$cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
$cache->start();
Zend_Registry::set("cache", $cache);
}
Любая помощь будет оценена.
1 ответ
Проверьте этот код ниже, чтобы установить кеш, если он не существует, или получить кеш, если он существует.
$result =””;
$cache = Zend_Registry::get('cache');
if(!$result = $cache->load('mydata')) {
echo 'caching the data…..';
$data=array(1,2,3); // demo data which you want to store in cache
$cache->save($data, 'mydata');
} else {
echo 'retrieving cache data…….';
Zend_Debug::dump($result);
}