Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 条令2结果缓存_Php_Mysql_Caching_Doctrine Orm_Zend Framework2 - Fatal编程技术网

Php 条令2结果缓存

Php 条令2结果缓存,php,mysql,caching,doctrine-orm,zend-framework2,Php,Mysql,Caching,Doctrine Orm,Zend Framework2,我想在Zend Framework 2项目上使用条令2的结果缓存,如下所示: $query->useResultCache(true, 3600, 'test'); 但它不起作用 这是我的配置文件: <?php return array( 'doctrine' => array( 'connection' => array( 'orm_default' => array( 'drive

我想在Zend Framework 2项目上使用条令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()
            )
        ),
    )
);

您正在使用ArrayCache实现:

'result_cache'      => 'array',

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

您正在使用ArrayCache实现:

'result_cache'      => 'array',

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

定义“它不起作用”。你是如何测量的?我用缓存做了一个select查询,然后编辑条目。当我再次进行select查询时,我可以看到条目上的更改,这意味着第一次选择时结果没有保存在缓存中。我没有收到任何错误。定义“它不工作”。你是如何测量的?我用缓存做了一个select查询,然后编辑条目。当我再次进行select查询时,我可以看到条目上的更改,这意味着第一次选择时结果没有保存在缓存中。我没有发现任何错误。