网页缓存
CodeIgniter 允许您缓存页面以实现最佳性能。
虽然 CodeIgniter 速度很快,但您在页面中显示的动态信息量将直接与服务器资源、内存和使用的处理周期相关联,这会影响您的页面加载速度。通过缓存您的页面,因为它们以完全呈现的状态保存,您可以实现更接近静态网页的性能。
缓存是如何工作的?
可以在每个页面基础上启用缓存,您可以设置页面在刷新之前应保留缓存的时间长度。当页面第一次加载时,页面将使用当前配置的缓存引擎进行缓存。在后续页面加载时,将检索缓存并发送到请求用户的浏览器。如果它已过期,它将被删除并在发送到浏览器之前刷新。
注意
Benchmark 标签不会被缓存,因此您仍然可以在启用缓存时查看您的页面加载速度。
配置缓存
设置缓存引擎
在使用网页缓存之前,您需要通过编辑 **app/Config/Cache.php** 来设置缓存引擎。有关详细信息,请参阅 配置缓存。
设置 $cacheQueryString
您可以使用 Config\Cache::$cacheQueryString
设置在生成缓存时是否包含查询字符串。
有效选项为
false
: (默认) 禁用。查询字符串不会被考虑在内;对于具有相同 URI 路径但不同查询字符串的请求,将返回相同的缓存。true
: 启用,考虑所有查询参数。请注意,这可能会导致为同一页面生成大量缓存。数组: 启用,但仅考虑指定的查询参数列表。例如,
['q', 'page']
。
启用缓存
要启用缓存,请在您的任何控制器方法中添加以下标签
<?php
$this->cachePage($n);
其中 $n
是您希望页面在刷新之间保持缓存的秒数。
上述标签可以放置在方法中的任何位置。它不受其出现顺序的影响,因此请将其放置在您认为最合理的位置。一旦标签到位,您的页面将开始被缓存。
重要
如果您更改了可能影响输出的配置选项,则必须手动删除缓存。
删除缓存
如果您不再希望缓存页面,您可以删除缓存标签,它将不再在过期时刷新。
注意
删除标签不会立即删除缓存。它必须正常过期。