首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则2结果缓存

原则2结果缓存
EN

Stack Overflow用户
提问于 2013-06-11 10:33:08
回答 1查看 1.2K关注 0票数 0

我想在2项目上使用Doctrine 2的结果缓存,如下所示:

代码语言:javascript
复制
$query->useResultCache(true, 3600, 'test');

但不起作用。

这是我的配置文件:

代码语言:javascript
复制
<?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()
            )
        ),
    )
);

所以我的问题是:我的代码中缺少什么?

EN

回答 1

Stack Overflow用户

发布于 2013-06-12 09:47:38

您正在使用ArrayCache实现:

代码语言:javascript
复制
'result_cache'      => 'array',

ArrayCache是一个“假的”缓存,它只是将值放入一个数组中,该值在请求结束时消失,就像PHP中的其他所有内容一样。您需要使用在请求之间保持活动的缓存,例如APC、Memcache、XCache。我会给出如何这样做的提示,但我不熟悉Zend2,检查文档的内容,您可能只需要将前面的行更改为"apc“。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17041995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档