2012-01-12 62 views
0

我想了解常规Memcache和Doctrine的MemcacheCache之间的区别。Zend Doctrine2 memcache vs PHP Memcache类

在我引导我实例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)) { 
     ... 
    } 

我并不想在Memcache中存储Doctrine实体 - 我只是存储字符串和序列化数组。

现在......这是使用Memcache与Doctrine的正确方法吗?我可以看到您使用setMemcache将Memcache实例分配给Doctrine的MemcacheCache ...但是我会使用MemcacheCache作为我自己的东西吗?还是应该直接使用Memcache实例?

真的很感谢这件事的一些想法,因为我很困惑它应该如何连接在一起。

回答