近日看了一下nodejs 感覺還不錯,又試了一下連接MYSQL,感覺也挺好的。
但nodejs 好像沒有一個很好的緩存機制。機器又沒裝mamecached
最后一想JS可以自己實現一個試試,代碼很爛,不要噴我啊。
下面我把我用到的緩存代碼貼下,感覺哪里可以改善,可以給我流言。
下面是整體代碼,由於很簡單,所以就簡單寫點說明
var __cache={};//用來存放緩存的全局變量。
exports.cache=(function(){
var o=new Object();
/**
* 添加一個新緩存
* @param cachename 緩存名
* @param value 緩存值
* @param haomiao 緩存時間 毫秒如果不加時間默認1分鍾。
*/
o.addCache=function(cachename,value,haomiao){
var haom=haomiao?haomiao:60000;
var tcache=cachename;
__cache[tcache]=value;
setTimeout(function(){ //使用TIMEOUT來處理超時時的刪除。
delete __cache[tcache];
},haom)
}
o.getCache=function(cachename)
{
return __cache[cachename];
}
/**
* 刪除緩存
* @param cachename 刪除的緩存名稱
*/
o.delCache=function(cachename)
{
delete __cache[cachename];
}
//console.log(o);
return o;
})();
代碼很簡單吧。那你一定會想,“小哥,這么簡單的代碼好不好用呢”。實話告訴你,好用,很好用。
使用方法
var cache =require("./cache").cache;//引用cache. 這里你寫成你自己的引用地址。
var s=cache.getCache("我的cachekey");
if(s)//判斷緩存是否存在
{console.log(s);}//存在就輸出。
else{cache.addCache("我的cachekey","緩存的內容",60*1000)}//不存在就緩存1分鍾
到這就結束了。是不是很簡單呢,你是不是想馬上試試呢,快來行動吧。
這是我的博客地址,本文可以轉載,但轉載時請保留我的地址,畢竟都是自己努力寫的。謝謝了。