我试图用缓存助手缓存视图。它适用于静态内容或使用<!--nocache-->{...}<!--/nocache-->
的会话内容,但不适用于内部动作变量。
例如,如果我有一篇可缓存的文章和这篇文章的不可缓存的用户定义评级,我就不能使用<!--nocache-->echo $rating;<!--/nocache-->
来显示这个评级,因为评级变量也将被缓存。
如果我理解正确的话,这是预期的行为。
一旦动作被缓存,所有的视图变量都被序列化,并且动作不会再次被调用(直到缓存被清除等)。
要么:不使用视图缓存,要么设置缓存过期时间更频繁。
如果你想让评级"实时"增加,那么让你的应用在每次有人修改评级时清除缓存。
你的应用至少在某些时候会受益于缓存版本。