我有一个基于 CI 2.1.0 构建的博客类型的应用程序。当我添加
$this->output->cache(5);
到我的控制器,CI 正确缓存页面,并且加载速度很快。
我的问题是,如果有人对该帖子发表评论,则在缓存过期之前不会显示该评论。
我想知道是否有人有关于每次更改该特定页面时如何强制缓存刷新的指示,或者是否进行了后期编辑等。
提前谢谢。
来自 CodeIgniter 文档:
如果您不再希望缓存文件,可以删除缓存标记 过期后将不再刷新。注意:删除 标记不会立即删除缓存。它必须过期 通常。如果您需要提前删除它,则需要手动 将其从缓存文件夹中删除。
对于以编程方式删除您可以使用的缓存文件
代码点火器缓存助手
在这里,此函数将删除缓存文件
function delete_cache($uri_string)
{
$CI =& get_instance();
$path = $CI->config->item('cache_path');
$cache_path = ($path == '') ? APPPATH.'cache/' : $path;
$uri = $CI->config->item('base_url').
$CI->config->item('index_page').
$uri_string;
$cache_path .= md5($uri);
if (file_exists($cache_path))
{
return unlink($cache_path);
}
else
{
return TRUE;
}
}
您可以扩展输出类以启用清除页面缓存。看看这里 : https://github.com/EllisLab/CodeIgniter/wiki/Clear-Page-Cache