nodejs读取memcache示例分享
更新时间:2014年01月02日 14:00:10 作者:
本人主要介绍了使用nodejs如何读取memcache的示例程序,大家参考使用吧
复制代码 代码如下:
var memcache = require('memcache')
, http = require('http')
, url = require('url')
, qs = require('querystring')
, memsettings = { port: 2000, host: '10.6.0.6' }
, httpsettings = { port: 3000 }
, cacheObject = {}
, httpserver
, client
, requestHandler;
client = new memcache.Client(memsettings.port, memsettings.host);
//...
client.on('connect', function(){
client.connected = true;
});
client.on('close', function(){
// no arguments - connection has been closed
client.connected = false;
});
function getData(key, wrapper, res){
client.get(key, function(error, result){
// all of the callbacks have two arguments.
// 'result' may contain things which aren't great, but
// aren't really errors, like 'NOT_STORED'
if(!error){
if(result){
cacheObject[key] = result;
res.write( wrapper + '(' + result + ')');
} else {
res.write('no data');
}
res.end();
}
});
/*if(cacheObject[key]){
response.write(cacheObject[key]);
response.end();
} else {
client.get(key, function(error, result){
// all of the callbacks have two arguments.
// 'result' may contain things which aren't great, but
// aren't really errors, like 'NOT_STORED'
if(!error){
cacheObject[key] = result;
cacheObject[key]['timeoutId'] = setTimeout(function(){
client.get(key, function(error, result){
if(!error){
cacheObject[key] = result;
}
});
});
response.write(result);
response.end();
}
});
}*/
}
httpserver = http.createServer(function(req, res){
var urlObj, queryObj;
urlObj = url.parse(req.url);
res.writeHead(200, {"Content-Type":"text/javascript; charset=utf-8"});
queryObj = qs.parse(urlObj.query);
path = queryObj.pathname;
if(queryObj.gid){
getData(queryObj.gid, queryObj.callback||'callback', res);
} else {
res.write('no input');
res.end();
}
/*
switch(urlObj.pathname){
case '/pai':
res.write(urlObj.pathname);
break;
case '/qiang':
res.write(urlObj.pathname);
break;
default:
res.write('default');
break;
}
res.end();
*/
});
client.connect();
httpserver.listen(httpsettings.port);
console.log('http server listening on ' + httpsettings.port);
相关文章
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合,需要的朋友可以参考下。2011-03-03web开发js字符串拼接占位符及conlose对象Api详解
本篇文章主要为大家介绍了web开发中字符串的拼接,占位符的使用以及conlose对象Api的使用,有需要的朋友可以借鉴参考下,希望可以有所帮助2021-09-09
最新评论