具有ZF2注释缓存的Doctrine2



我正在使用ZF2的Doctrine2(Zend Framework2)。根据http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/
我正在使用学说中的注释,我需要知道是否默认注释是缓存的,如果是在哪里,如果不是我可以缓存它们的话。

我知道Symfony2/Doctrine2缓存注释数据,我该如何使用zend2?

使用memcache进行注释缓存的示例是(module.config.php):

'service_manager' => array(
    'factories' => array(
        'doctrine.cache.my_memcache' => function(ZendServiceManagerServiceManager $sm) {
            $cache = new DoctrineCommonCacheMemcacheCache();
            $memcache = new Memcache();
            $memcache->connect('localhost', 11211);
            $cache->setMemcache($memcache);
            return $cache;
        }
    )

这将创建用于学说的基本memcache对象。之后,您必须告诉学说将此缓存用于这样的注释(再次,module.config.php):

'doctrine' => array(
    'driver' => array(
        __NAMESPACE__ . '_driver' => array(
            'class' => 'DoctrineORMMappingDriverAnnotationDriver',
            'cache' => 'my_memcache', // <- this points to the doctrine.cache.my_memcache factory we created above
            'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
        ),
        'orm_default' => array(
            'drivers' => array(
                __NAMESPACE__ . 'Entity' => __NAMESPACE__ . '_driver'
            ),
        ),
    ),
),

另外,您可以使用学说的数组缓存。只需将"缓存'=>'my_memcache'更改为" cache" =>'数组'(据我所知,这应该是默认值。希望有帮助!

相关内容

  • 没有找到相关文章

最新更新