不要在CakePHP视图中缓存动态内容

时间:2012-12-26 19:19:27

标签: php cakephp caching

我正在尝试使用Cache帮助程序缓存视图。它适用于使用<!--nocache-->{...}<!--/nocache-->的静态内容或会话内容,但它不适用于内部操作变量。

例如,如果我有本文的可缓存文章和无法缓存的用户定义评级,我就无法使用<!--nocache-->echo $rating;<!--/nocache-->来显示此评级,因为评级变量也会被缓存。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,这是预期的行为。

缓存某个操作后,所有视图变量都会被序列化,并且不会再次调用该操作(直到清除缓存等)。

要么:不要使用视图缓存,要么将缓存时间设置为更频繁地过期。

如果您希望评分在“实时”中增加,那么每当有人修改评分时,让您的应用清除缓存。

您的应用至少会在某些时候受益于缓存版本。