|
楼主 |
发表于 2012-10-10 19:49:16
|
显示全部楼层
本帖最后由 lawzk 于 2012-10-10 19:51 编辑
为了简便,我简化了实际代码。
conn.php中代码如下:
$mem=new Memcache;
$mem->connect("127.0.0.1",11211);
$_config_arr=$mem->get('config');
//$_config_arr='';
if(!is_array($_config_arr)){
//从数据库读取配置文件
$query=mysql_query('select webname,domain,default_lang from config where id=1');
if(mysql_num_rows($query)){
$arr=mysql_fetch_array($query);
$mem->set('config',$arr,0,0);
$_config_arr=$mem->get('config');
}
}
if(is_array($_config_arr)){
$_webname=$_config_arr[webname];
$_domain=$_config_arr[domain];
$_default_lang=$_config_arr[default_lang];
}
后台每个页面都包含conn.php。只要执行一次,以后任何页面都不会再读数据库。直接从缓存中读取数据。除非服务器重启,缓存丢失。我只是想要实现这样的功能,即在一个地方加载配置文件,其它页面,从缓存中判断,如果未加载,则读数据库并存缓存。如果已加载,直接从缓存中读数据。这是我以前项目的实现方式。现在转为CI,我不知道该怎么处理。刚才想到,在autoload.php中配置,自动加载一个模型,在这个模型中实现?
如果每个页面都要通过控制器方法来操作,岂不是太麻烦? |
|