本文实例讲述了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程序设计有所帮助。