Phil Sturgeon的缓存库

时间:2013-02-27 23:40:38

标签: php codeigniter caching

好的,这里是他写的缓存库的链接:https://github.com/philsturgeon/codeigniter-cache

无论如何,他的文件绝对是......含糊不清,根本没用。我知道这是自我解释的。

$this->cache->model('blog_m', 'getPosts', array($category_id, 'live'), 120); // keep for 2 minutes 

第3个参数是什么? 是创建缓存的原因还是创建缓存文件的原因:

$this->cache->write($data, 'cached-name');

如果是这样,那么$ data假设持有的值是什么?整体查询orrr ...... ?? 如果有人可以就如何创建缓存文件给出解释..基本上我想缓存选择一堆新闻帖子的查询..每次创建新的帖子时,删除缓存并重新缓存它以便它显示新的新闻发布..

1 个答案:

答案 0 :(得分:0)

文档似乎相当清楚。无论如何,我会尝试用更好的术语来解释它:

// cached model call
$this->cache->model('blog_m', 'getPosts', array($category_id, 'live'), 120); // keep for 2 minutes

这将调用模型getPosts上的方法blog_m并将结果缓存120秒。如果在接下来的2分钟内再次进行相同的调用,它将返回缓存的结果,否则它将从数据库中获取数据并更新缓存。这对于你经常打电话的模型的方法很有用。

如果要从缓存中手动添加和获取数据,请使用:

// cached array or object
$this->cache->write($data, 'cached-name');
$data = $this->cache->get('cached-name');

$data将保留您想要缓存的内容。例如,如果要缓存用户的电子邮件,请按以下步骤缓存和获取它

$email = 'foobar@example.com';
$this->cache->write($email, 'user-email');
// to fetch
$user_email = $this->cache->get('user-email');