我想在2项目上使用Doctrine 2的结果缓存,如下所示:
$query->useResultCache(true, 3600, 'test');但不起作用。
这是我的配置文件:
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'skeleton',
'charset' => 'utf8',
'driverOptions' => array (1002 => 'SET NAMES utf8'),
)
)
),
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'array',
'query_cache' => 'array',
'result_cache' => 'array',
'driver' => 'orm_default',
'generate_proxies' => true,
'proxy_dir' => 'data/DoctrineORMModule/Proxy',
'proxy_namespace' => 'DoctrineORMModule\Proxy',
'filters' => array()
)
),
)
);所以我的问题是:我的代码中缺少什么?
发布于 2013-06-12 09:47:38
您正在使用ArrayCache实现:
'result_cache' => 'array',ArrayCache是一个“假的”缓存,它只是将值放入一个数组中,该值在请求结束时消失,就像PHP中的其他所有内容一样。您需要使用在请求之间保持活动的缓存,例如APC、Memcache、XCache。我会给出如何这样做的提示,但我不熟悉Zend2,检查文档的内容,您可能只需要将前面的行更改为"apc“。
https://stackoverflow.com/questions/17041995
复制相似问题