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