Я пытаюсь понять разницу между регулярным Memcache и MemcacheCache Doctrine.Zend Doctrine2 memcache vs PHP Memcache class
В моем загрузчике я создаю экземпляр 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 напрямую?
Было бы очень полезно поразмышлять над этим, так как я смущен тем, как это должно соединяться вместе.