|
发表于 2012-3-9 13:19:49
|
显示全部楼层
本帖最后由 paperen 于 2012-3-9 13:20 编辑
我也有一个想法,扩展CI的DB实现查询缓存(或者可以这么叫),而不用像ihymk那样手动set与get
当
PHP复制代码
$user = $db->select('id,email,username')->from('user')->where('username', 'paperen')->get()->row_array();
复制代码
时将会在DB实例内部进行登记,比方记录到一个数组中
PHP复制代码
$query_cache = array(
'select id,email,username from user where username="paperen"' => 数据
)
复制代码
那么在同一个页面加载过程中,如果其他地方(模块)也使用 $db->select('id,email,username')->from('user')->where('username', 'paperen')->get()->row_array(); 匹配一下缓存数组是否有相同键值,有就不用再送sql去数据库了
当然只是在select的时候才会记录,但……这样的数组索引好像有点说不过去 |
|