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;