我正在为使用Zend Framework的网站实现缓存。
我查看源代码并看到:
Zend_Cache::factory()
始终需要后端和前端的两种配置。
我的问题是:
我不知道为什么后端设置在前端内,
它们之间有什么区别?
$frontendObject->setBackend($backendObject);
return $frontendObject;
public static function factory($frontend, $backend, $frontendOptions = array(), $backendOptions = array(), $customFrontendNaming = false, $customBackendNaming = false, $autoload = false)
{
if (is_string($backend)) {
$backendObject = self::_makeBackend($backend, $backendOptions, $customBackendNaming, $autoload);
} else {
if ((is_object($backend)) && (in_array('Zend_Cache_Backend_Interface', class_implements($backend)))) {
$backendObject = $backend;
} else {
self::throwException('backend must be a backend name (string) or an object which implements Zend_Cache_Backend_Interface');
}
}
if (is_string($frontend)) {
$frontendObject = self::_makeFrontend($frontend, $frontendOptions, $customFrontendNaming, $autoload);
} else {
if (is_object($frontend)) {
$frontendObject = $frontend;
} else {
self::throwException('frontend must be a frontend name (string) or an object');
}
}
$frontendObject->setBackend($backendObject);
return $frontendObject;
}
答案 0 :(得分:5)
缓存后端是“缓存引擎”:它可以是文件,memcached等。
缓存前端指定将在缓存中存储哪种数据(请参阅http://framework.zend.com/manual/1.12/en/zend.cache.frontends.html)