Php Codeigniter缓存-新帖子发布后刷新的建议

Php Codeigniter缓存-新帖子发布后刷新的建议,php,codeigniter,caching,memcached,outputcache,Php,Codeigniter,Caching,Memcached,Outputcache,我有一个基于CI 2.1.0构建的博客类型应用程序。 当我加上 $this->output->cache(5); 对于我的控制器,CI正确缓存页面,并且加载速度很快 我的问题是,如果有人对这篇文章发表评论,在缓存过期之前,评论不会显示 我想知道是否有人有关于如何在每次特定页面发生更改时强制缓存刷新的指针,或者是否进行了后期编辑,等等 提前感谢。来自CodeIgniter文档: 如果不再希望缓存文件,可以删除缓存标记 当它过期时将不再刷新。注意:卸下 标记不会立即删除缓存。它将不得不

我有一个基于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;
        }
    }

您可以扩展输出类以启用清除页面缓存。看看这里:

当然我不想手动删除,因为我甚至不确定哪一个缓存文件指向更新的页面-如何通过编程方式在更新时选择性地删除该文件?