有人知道如何在 zf2 项目中缓存教义 2 实体吗?我找不到解释这一点的教程或网站。我找不到任何信息来开始定义实体文件缓存。
你们中的一些人有工作链接或示例。
谢谢
有人知道如何在 zf2 项目中缓存教义 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”。显然,您可以随心所欲地称呼它们,但是您需要将该前缀添加到您称呼它们的任何名称中。
要激活文件缓存,您只需添加 module.config.php
'doctrine' => array(
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'filesystem',
'query_cache' => 'filesystem',
)
),
)
它会在 data/DoctrineModule/cache 文件夹中自动创建缓存
这是我对 ZF 2.2.4 + Doctrine 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',
)
),
),