Разработка приложений ведется под windows, memcached устанавливается службой, запускаемой параллельно Denwer-у, но чаще всего в окружении для разработчика он выключен. Приходится использовать файловый кэш в качестве дублирующего. Пригодится также при падении демона.
Кстати, лог писать не обязательно, но крайне желательно, поэтому в конфигурацию подключаем еще и логгер на файлах.
$oLogger = new Zend_Log();
$oLogger->addWriter( new Zend_Log_Writer_Stream( APPLICATION_LOG_DIR.'maincache.log' ));
$oFrontend = new Zend_Cache_Core(
array(
'caching' => true,
'cache_id_prefix' => 'cache_',
'logging' => true,
'logger' => $oLogger,
'automatic_serialization' => true,
'write_control' => true,
'ignore_user_abort' => true
)
);
try
{
$oBackend = new Zend_Cache_Backend_Memcached(
array(
'servers' => array(
array(
'host' => '127.0.0.1',
'port' => '11211'
)
),
'compression' => true
)
);
$oBackend->getFillingPercentage();
}
catch(Exception $e)
{
$oBackend = new Zend_Cache_Backend_File(
array(
'cache_dir' => APPLICATION_CACHE_DIR,
'hashed_directory_level' => 1,
'hashed_directory_umask' => 0755,
'file_name_prefix' => 'cache_',
'cache_file_umask' => 0755
)
);
}
$registry->cache = $cache = Zend_Cache::factory($oFrontend,$oBackend);
Нужно выполнить простейшую операцию, чтобы убедиться в минимальной работоспособности бекэнда. Для этого как раз нужен код
$oBackend->getFillingPercentage();
сразу после инициализации.




