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