CI框架数据库查询缓存优化的方法

时间:2021-09-19 03:43:40

本文实例讲述了CI框架数据库查询缓存优化的方法。分享给大家供大家参考,具体如下:

CI框架中有个比较好的查询优化,就是数据库缓存优化

1.开启缓存

?
1
2
3
4
5
//在application/config.php中开启
$db['default']['cache_on'] = TRUE;
//在application/config.php中开启
$db['default']['cachedir'] = './cache';
//并在对应的目录中加一个可写缓存目录cache

2. 在对应的查询中开启缓存语句

?
1
2
3
4
5
6
7
8
9
// 打开缓存开关
$this->db->cache_on();
$query = $this->db->query("SELECT * FROM mytable");
// 使下面这条查询不被缓存
$this->db->cache_off();
$query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");
// Turn caching back on
$this->db->cache_on();
$query = $this->db->query("SELECT * FROM another_table");

3. 添加相应的 清空缓存

?
1
2
3
4
5
6
7
8
9
10
11
//缓存不会自动删除 只能手动删除
//这样 你可以在对应的 增改删 语句中清除缓存 就ok了
//清空所有缓存
$this->db->cache_delete_all()
/*
清空单个缓存
example.com/index.php/blog/comments的页面, 缓存系统会把所有生成的缓存文件放进
一个以 blog+comments做为名称的文件夹里. 如果您要删除关于刚才提到的这个例子与
之对应的缓存文件 需要执行以下代码:
*/
$this->db->cache_delete('/blog', 'comments');

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。