我想了解常规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实例?
真的很感谢这件事的一些想法,因为我很困惑它应该如何连接在一起。