Codeigniter-将视图缓存到视图中

Posted

技术标签:

【中文标题】Codeigniter-将视图缓存到视图中【英文标题】:Codeigniter- cache view into a view 【发布时间】:2013-08-12 16:39:31 【问题描述】:

我想知道是否可以缓存加载到另一个视图中的视图。

我愿意:

view.php

<div>
<?php echo $this->load->view('modules/new_view'); ?>
</div>

所以 view.php 需要一个新的视图,我可以缓存views/modules/new_view.php 的内容吗?

【问题讨论】:

CodeIgniter 输出缓存,缓存整个页面。它以每页为基础。如果您想单独缓存页面上的部分,请查看Caching Driver 并尝试一下。您应该在控制器中执行逻辑,将视图作为字符串返回,缓存字符串,将缓存的数据推送到主视图。 【参考方案1】:

Codeigniter 有 Web Page Caching

CodeIgniter 让你缓存你的页面以达到最大 性能。

虽然CodeIgniter的速度相当快,但是动态信息量很大 您在页面中显示的内容将直接与服务器相关联 使用的资源、内存和处理周期,这会影响您的 页面加载速度。通过缓存您的页面,因为它们保存在它们的 完全渲染状态,您可以获得接近的性能 静态网页。

为此,您可以使用下面的代码,其中n 是您希望页面在刷新之间保持缓存的分钟数。您可以将其放置在函数中的任何位置。

$this->output->cache(n);

更新

要仅缓存页面的一部分或单个视图,您可以使用CodeIgniter-Cache

CodeIgniter-Cache 是 CodeIgniter 的部分缓存库。它 允许您在文件系统中写入和获取数据块。 通过将复杂或大块的数据以序列化的形式存储在 文件系统,您可以减轻数据库的压力或简单地缓存 Twitter 电话。

另一种选择

MP Cache: 部分代码的简单灵活缓存

【讨论】:

如果我将输出缓存放到父视图内的视图中,缓存也会影响父视图

以上是关于Codeigniter-将视图缓存到视图中的主要内容,如果未能解决你的问题,请参考以下文章

将变量从视图传递到视图 codeigniter

codeigniter 将数据从视图传递到模型并检索信息

CodeIgniter:将参数从视图传递到控制器?

Codeigniter:从视图中调用视图时的变量范围。奇怪的

在 codeigniter 中,如何将数组值从控制器传递到同一视图页面?

如何将codeigniter视图文件gmap存储到redis以使视图显示更快?