我正在努力让我的网站更快,因为我希望它尽可能快地加载。不过,我在缓存方面遇到了一些麻烦。我正在尝试使用它,但它似乎缓存了整个页面并且我的内容发生了很大变化。我是否可以只缓存我知道不会改变的某些视图?像页眉、页脚和主页一样。
问问题
9884 次
3 回答
4
CI 缓存的目的是减少数据库查询的数量、任何耗时的 PHP 计算等......基本上,它将从您的控制器(当然还有它调用的所有视图)呈现一个纯 HTML 页面。因此,它不会真正加速您的页眉和页脚,除非您从数据库或任何动态和繁重的数据中为它们提取数据......但任何现代浏览器都会为您缓存,除非您明确禁止缓存。
因此,最重要的是,CI 缓存只允许缓存整个页面,而不是单独的部分。当然,还有其他方法可以实现您想要的,例如您可以将页眉和页脚分开控制器,将缓存放入其中,然后通过 AJAX 调用它们......但我不确定这是否值得。
于 2013-06-19T18:31:40.980 回答
2
于 2013-06-19T18:33:06.617 回答
0
谈话有点晚了,但你看过数据库缓存吗?许多网页延迟可能来自繁重的数据库查询。缓存结果会打开动态视图。
这在您管理会话时很有帮助。
$this->db->cache_on();
把它放在你的模型而不是控制器中。确保您的应用程序目录中也有一个可写的 db-cache 文件夹。
于 2014-02-25T01:35:58.713 回答