我需要在同一页面上呈现和显示不同模型的实例(评论,民意调查等)。这些实例按日期排序,因此可能会有几个评论然后轮询,然后是另一个公司,再一次轮询等等。
所以我在一个循环中调用renderPartial。我担心这可能会很慢,因为每个renderPartial都需要从hdd读取文件。
所以我的问题是:在一个http请求期间,renderPartial是否将文件的内容缓存在内存中的某个位置?因此,多次调用renderpartial不会每次都触及hdd。
答案 0 :(得分:1)
在你指示它之前,Yii不会缓存任何内容。您可以缓存整个页面,或只是页面部分,这取决于您,您应该按照Yii's cache tutorial了解如何实现该目标。
答案 1 :(得分:0)
我不是管理员或其他什么,但我很确定操作系统会缓存该文件,因此您无需担心。
这里有一个替代方案:您可以准备一组所有数据(例如,作为数组,或某些自定义类型的结构/对象)。然后在视图中更改代码以检查此数组并通过它循环。这样您就可以通过单renderPartial
次呼叫发送输出。