我的控制器中有以下内容:
var $cacheAction = array(
'view/' => 432000,
'pricelist/'=>'100000',
'latest/' => '100000');
即将视图缓存5天。我还在core.php中启用了缓存,并在我的控制器中包含了缓存助手。
缓存文件在tmp / cache / views /中正确创建,但它们似乎不会持续5天。如果我在文件列表中列出了最近3-4分钟内创建的所有文件。
我做错了什么?我是否需要另一种缓存操作语法?
感谢
答案 0 :(得分:3)
您的行为是否使用经常更改的模型?来自Cookbook
重要的是要记住,如果修改了缓存视图中使用的模型,Cake将清除缓存视图。例如,如果缓存视图使用Post模型中的数据,并且对Post发出了INSERT,UPDATE或DELETE查询,则清除该视图的缓存,并在下一个请求中生成新内容。 / p>
答案 1 :(得分:0)
我的模特是:
事件 hasMany 图片
购物篮属于事件 hasMany BasketImages
BasketImages belongsTo 图片 belongsTo 购物篮
所以我缓存了页面events / view / id。在这个视图中我有:
<?php if (($c=count($basketImages))>0) echo $c; ?>
然后有一些照片和按钮使 ajax 调用如:/ baskets / add / imageID
在购物篮/添加中,如果用户没有购物篮,则会创建一个购物篮,并且还会创建一个包含当前imageID的BasketImage记录。
所以我的问题是我的页面属于以下类别:
重要的是要记住,如果修改了缓存视图中使用的模型,Cake将清除缓存视图。 (食谱)
添加一个篮子和basketImage会使事件/视图缓存过期吗?我可以使用:
<cake:nocache> <?php if (($c=count($basketImages))>0) echo $c;?><cake:nocache>