关于cookbook我们可以缓存这样的元素:
echo $this->element('helpbox', array(), array('cache' => true));
使用配置进行缓存是这样的:
echo $this->element('helpbox', array(),
array('cache' => array('config' => 'view_long') );
如何在没有预定义配置的情况下缓存元素?如何缓存元素的持续时间?我尝试了这个,但没有用:
echo $this->element('helpbox', array(),
array('cache' => array('time' => '+30 minutes')));
答案 0 :(得分:2)
您需要app/Config/bootstrap.php
中的configure cache:
Cache::config('hour', array(
'engine' => 'File',
'duration' => '+1 hours',
'path' => CACHE,
'prefix' => 'cake_short_'
));
Cache::config('week', array(
'engine' => 'File',
'duration' => '+1 week',
'probability' => 100,
'path' => CACHE . 'long' . DS,
));
之后,您可以使用已定义的配置缓存元素:
echo $this->element('helpbox', array(), array('cache' => array('config' => 'week')));
答案 1 :(得分:0)
由于您现在只能引用命名高速缓存配置,如果要以编程方式清除高速缓存元素,则需要将Cache :: delete()与元素名称和键一起使用。
我写了blog post这个。 the relevant CakePHP forum thread中还有一些更详细的内容。
(2014年8月31日)我还没有检查这是否仍然是CakePHP 2.5中的行为。