CodeIgniter缓存清除

时间:2012-04-05 11:54:22

标签: 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');
    $r = $q->result();
    $this->db->cache_off();
    return (!empty($r)) ? $r : false;
}

我需要在将某些内容添加到数据库时删除特定事件上的缓存。 它与$this->db->cache_delete_all();一起工作正常,但是当我尝试删除一个特定的方法缓存时,就像在用户指南中解释的那样,它没有做任何事情。

这可能是什么问题?

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

修改

假设我的主控制器中有方法checkEvents,它调用模型的checkAfter方法,然后使用缓存。 CI缓存引擎在缓存的forlder下创建一个名为main + checkEvents的文件夹,其中存储了chached数据。 所以我试图删除它 $this->db->cache_delete('main', 'checkEvents'); 调用该模型的logEvent方法(保存新事件)。

0 个答案:

没有答案