Php CodeIgniter缓存清除

Php CodeIgniter缓存清除,php,codeigniter,caching,Php,Codeigniter,Caching,我在Codeigniter数据库缓存中遇到了一个奇怪的问题。我用它来缓存一个查询结果。为此,我在功能开始时启用它,并在以下情况下立即禁用: function checkAfter($lastCheck) { $this->db->cache_on(); $this->db->where('time >' , date('Y-m-d H:i:s', $lastCheck)); $q = $this->db->get('actions

我在Codeigniter数据库缓存中遇到了一个奇怪的问题。我用它来缓存一个查询结果。为此,我在功能开始时启用它,并在以下情况下立即禁用:

function checkAfter($lastCheck)
{
    $this->db->cache_on();
    $this->db->where('time >' , date('Y-m-d H:i:s', $lastCheck));
    $q = $this->db->get('actions');
    $r = $q->result();
    $this->db->cache_off();
    return (!empty($r)) ? $r : false;
}
我需要在数据库中添加某些内容时删除特定事件的缓存。 它与
$this->db->cache_delete_all()配合使用效果良好但当我试图删除一个特定的方法缓存时,就像《用户指南》中解释的那样,它不会做任何事情

这里可能有什么问题

在同一个模型中调用这两个方法。我还尝试在删除之前启用缓存,但仍然没有

编辑

假设我的主控制器中有方法checkEvents,它调用模型的checkAfter方法,然后该方法与缓存一起工作。CI缓存引擎在缓存的文件夹下创建一个名为main+checkEvents的文件夹,其中存储了缓存的数据。 所以我试着用它来移除它
$this->db->cache_delete('main','checkEvents')

调用该模型的logEvent方法(保存新事件)。

如何尝试删除一个特定的查询缓存?是否查看了实际缓存文件夹?它不会删除名为main+checkEvents的缓存文件夹,只删除其中的对象文件。这与我面临的问题类似。我正在缓存中运行两个单独的查询。假设一个查询用于博客内容,一个查询用于博客评论。现在,如果我更新博客内容,那么我需要删除博客内容缓存文件,如果有人添加了评论,那么我需要删除博客评论缓存文件。这意味着在单个文件夹中有两个单独的缓存文件。那么,我怎样才能做到这一点呢?