有人知道如何緩存zf2項目中的doctrine2實體。我找不到解釋這個問題的教程或網站。我無法找到任何信息開始定義一個實體文件緩存。ZF2 Doctrine2實體緩存
你們有人有工作聯繫或例子。
感謝
有人知道如何緩存zf2項目中的doctrine2實體。我找不到解釋這個問題的教程或網站。我無法找到任何信息開始定義一個實體文件緩存。ZF2 Doctrine2實體緩存
你們有人有工作聯繫或例子。
感謝
你有兩個選擇
作爲版本2的一個例子,我在模塊中有如下配置(實際上遍佈各種配置文件,所以我不能保證複製粘貼逐字將工作)。
'services' => array(
'factories' => array(
// Wraps a ZF2 cache storage in a Doctrine compatible way
'doctrine.cache.zend.static.local' => function ($services) {
return new ZendStorageCache($services->get('cache.static.local'));
},
),
'caches' => array(
// A ZF2 cache, can be configured as you like
'cache.static.local' => array(
'adapter' => 'xcache',
'plugins' => array(
'exception_handler' => array(
'throw_exceptions' => false,
),
'serializer',
),
),
),
'doctrine' => array(
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'zend.static.local',
'query_cache' => 'zend.static.local',
),
),
),
請注意,Doctrine惱人地自動爲「doctrine.cache」加上前綴。到您配置的緩存服務的名稱,因此當我們將「metadata_cache」配置爲「zend.static.local」時,實際的緩存服務必須命名爲「doctrine.cache.zend.static.local」。顯然,你可以稱他們爲你想要的,但是你需要將這個前綴添加到你稱之爲的任何東西。
如果你婉要使用'filesystem'作爲緩存適配器,你應該在設置'key_pattern'=>'/^[\ a-z0-9 _ \ + \ - \ [\]] * $/Di''中更新key_pattern –
是的,你需要適當地配置你的緩存,無論你在做什麼,但我所指的前綴是Doctrine尋找的緩存服務的名稱。 –
我們如何檢查我們所做的配置是否正確?如果緩存正在工作? –
要激活文件緩存,你只需要在你的module.config.php
'doctrine' => array(
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'filesystem',
'query_cache' => 'filesystem',
)
),
)
添加,它會自動創建緩存數據/ DoctrineModule /緩存文件夾
這裏是我的全部學說的配置對於ZF 2.2.4 +學說2
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Modulename/Entity')
),
'orm_default' => array(
'drivers' => array(
'Modulename\Entity' => 'application_entities'
),
)
),
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'filesystem',
'query_cache' => 'filesystem',
)
),
),
懶得回答[但這會幫助你(https://github.com/doctrine/DoctrineORMModule/issues/136) – Sam