1

我不能使元素缓存工作:

echo $this->element('categorytree', array(
    'cache' => array(
        'key'=>'categorytree-cache','time' => '+1 hour'
    )
))

我检查了 core.php:

// In development mode, caches should expire quickly.
$duration = '+999 days';
/*if (Configure::read('debug') >= 1) {
    $duration = '+10 seconds';
}*/

如您所见并发表评论 - 以防止在调试模式下进行短缓存...

但是当我刷新页面时,会显示缓存元素通过 requestAction() 执行的 SQL 查询......所以没有缓存......为什么?

4

1 回答 1

1

我可能在这里错了,但我认为正确的电话是:

echo $this->element('categorytree', array(), array(
    'cache' => array(
        'key'=>'categorytree-cache','time' => '+1 hour'
    )
))

请注意,第二个参数是元素参数,而第三个是元素选项(您在这里需要什么)。

您可以在此处查看函数签名。

于 2012-04-27T20:39:56.990 回答