Я пытаюсь понять разницу между обычным Memcache и MemcacheCache от Doctrine.
В своей начальной загрузке я создаю Memcache следующим образом:
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
\Zend_Registry::set("pdc_memcache_core", $memcache);
Затем у меня есть следующий код для создания экземпляраДоктрина - это не полный код, так как я просто смотрю на cachine:
$doctrineConfig = new \Doctrine\ORM\Configuration();
$memcacheCore = \Zend_Registry::get("pdc_memcache_core");
$cache = new \Doctrine\Common\Cache\MemcacheCache;
$cache->setMemcache($memcacheCore);
$cache->setNamespace("PDC_");
\Zend_Registry::set("pdc_memcache", $cache);
$doctrineConfig->setMetadataCacheImpl($cache);
$doctrineConfig->setQueryCacheImpl($cache);
Затем я получаю доступ к кешу так:
if (\Zend_Registry::get("pdc_memcache")->contains($cacheKey)) {
...
}
Я не пытаюсьхранить сущности Doctrine в Memcache - я просто храню строки и сериализованные массивы.
Теперь ... это правильный способ использования Memcache с Doctrine?Я вижу, что вы используете setMemcache, чтобы назначить экземпляр Memcache для MemcacheCache Doctrine ... но я бы использовал MemcacheCache для своих собственных вещей?Или я должен использовать экземпляр Memcache напрямую?
Буду очень признателен за некоторые мысли по этому поводу, так как меня смущает, как это должно связывать друг с другом.