网页缓存

CodeIgniter 允许您缓存页面以实现最佳性能。

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

缓存是如何工作的?

可以在每个页面基础上启用缓存,您可以设置页面在刷新之前应保留缓存的时间长度。当页面第一次加载时,页面将使用当前配置的缓存引擎进行缓存。在后续页面加载时,将检索缓存并发送到请求用户的浏览器。如果它已过期,它将被删除并在发送到浏览器之前刷新。

注意

Benchmark 标签不会被缓存,因此您仍然可以在启用缓存时查看您的页面加载速度。

配置缓存

设置缓存引擎

在使用网页缓存之前,您需要通过编辑 **app/Config/Cache.php** 来设置缓存引擎。有关详细信息,请参阅 配置缓存

设置 $cacheQueryString

您可以使用 Config\Cache::$cacheQueryString 设置在生成缓存时是否包含查询字符串。

有效选项为

  • false: (默认) 禁用。查询字符串不会被考虑在内;对于具有相同 URI 路径但不同查询字符串的请求,将返回相同的缓存。

  • true: 启用,考虑所有查询参数。请注意,这可能会导致为同一页面生成大量缓存。

  • 数组: 启用,但仅考虑指定的查询参数列表。例如,['q', 'page']

启用缓存

要启用缓存,请在您的任何控制器方法中添加以下标签

<?php

$this->cachePage($n);

其中 $n 是您希望页面在刷新之间保持缓存的秒数

上述标签可以放置在方法中的任何位置。它不受其出现顺序的影响,因此请将其放置在您认为最合理的位置。一旦标签到位,您的页面将开始被缓存。

重要

如果您更改了可能影响输出的配置选项,则必须手动删除缓存。

删除缓存

如果您不再希望缓存页面,您可以删除缓存标签,它将不再在过期时刷新。

注意

删除标签不会立即删除缓存。它必须正常过期。