4

我正在努力让我的网站更快,因为我希望它尽可能快地加载。不过,我在缓存方面遇到了一些麻烦。我正在尝试使用,但它似乎缓存了整个页面并且我的内容发生了很大变化。我是否可以只缓存我知道不会改变的某些视图?像页眉、页脚和主页一样。

4

3 回答 3

4

CI 缓存的目的是减少数据库查询的数量、任何耗时的 PHP 计算等......基本上,它将从您的控制器(当然还有它调用的所有视图)呈现一个纯 HTML 页面。因此,它不会真正加速您的页眉和页脚,除非您从数据库或任何动态和繁重的数据中为它们提取数据......但任何现代浏览器都会为您缓存,除非您明确禁止缓存。

因此,最重要的是,CI 缓存只允许缓存整个页面,而不是单独的部分。当然,还有其他方法可以实现您想要的,例如您可以将页眉和页脚分开控制器,将缓存放入其中,然后通过 AJAX 调用它们......但我不确定这是否值得。

于 2013-06-19T18:31:40.980 回答
2

使用扩展这是可能的

https://github.com/philsturgeon/codeigniter-cache

通常显示问题太大了,需要显示的数据的生成需要更长的时间并且从缓存中受益最多。

于 2013-06-19T18:33:06.617 回答
0

谈话有点晚了,但你看过数据库缓存吗?许多网页延迟可能来自繁重的数据库查询。缓存结果会打开动态视图。

这在您管理会话时很有帮助。

$this->db->cache_on();

把它放在你的模型而不是控制器中。确保您的应用程序目录中也有一个可写的 db-cache 文件夹。

于 2014-02-25T01:35:58.713 回答