我需要在同一页面上呈现和显示不同模型(评论、投票等)的实例。这些实例按日期排序,因此可能会有几个评论然后轮询,然后是另一个评论,然后再轮询等等。
所以我在循环中调用renderPartial。恐怕这会很慢,因为每个 renderPartial 都需要从硬盘读取文件。
所以我的问题是:renderPartial 是否在一个 http 请求期间将文件的内容缓存在内存中的某处?所以多次调用renderpartial不会每次都触及hdd。
我需要在同一页面上呈现和显示不同模型(评论、投票等)的实例。这些实例按日期排序,因此可能会有几个评论然后轮询,然后是另一个评论,然后再轮询等等。
所以我在循环中调用renderPartial。恐怕这会很慢,因为每个 renderPartial 都需要从硬盘读取文件。
所以我的问题是:renderPartial 是否在一个 http 请求期间将文件的内容缓存在内存中的某处?所以多次调用renderpartial不会每次都触及hdd。
Yii 不会缓存任何东西,直到你指示它这样做。你可以缓存整个页面,或者只是页面的一部分,这完全取决于你,你应该按照Yii 的缓存教程来了解如何实现这一点。
我不是管理员什么的,但我很确定操作系统会缓存文件,所以你不必担心。
这是一种选择:您可以准备一组所有数据(例如数组,或某些自定义类型的结构/对象)。然后更改视图中的代码以检查此数组并循环遍历它。这样,您可以在单个renderPartial
调用中发送输出。