2012-01-12 128 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實例?

真的很感謝這件事的一些想法,因爲我很困惑它應該如何連接在一起。

回答