ZF: кэширование при помощи memcached с дублированием

Разработка приложений ведется под 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();

сразу после инициализации.

Rambler's Top100