ecshop是一个不错的平台,其中有一些地方可以改进一下
总体上看,就是一个大sql,global变量传来传去的,所有的只要取数据的时候,执行一个sql语句就可以了,但是一些需要缓存的地方,它使用的是文件缓存,
在这一点上,我觉得可以使用memcahced这个缓存机制来实现在includes中的init文件中加入以下代码
$mem = new Memcache;
$mem->connect("localhost", 11211);
然后在lib_common中加入以下代码
function getcache($mem_key)
{
$mem=$GLOBALS["mem"];
$storeinfo= $mem->get($mem_key);
return $storeinfo;
}
function setcache($mem_key,$storeinfo)
{
$mem=$GLOBALS["mem"];
$mem->set($mem_key, $storeinfo, 0, 36000);
}
这样就可以使用这个函数来保存数据了,举个例子
$key="get_louceng".$louid;
$mem_key=md5($key);
$cache=getcache($mem_key);
if($cache)
{
// var_dump($cache);
return $cache;
}
加入取数据的代码
setcache($mem_key,$data);
return $data;