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;