ecshop的緩存機制更改

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;




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章