复制代码代码如下:
var memcache = requer ('memcache')
, http = requer ('http')
, url = requer ('url')
, qs = requer ('querystring')
, MEMSETTINGS = {Port: 2000, host: '10 .6.0.6 '}
, httpsettings = {porta: 3000}
, cacheObject = {}
, httpServer
, cliente
, requestHandler;
Client = new Memcache.client (MEMSESTINGS.PORT, MEMSESTINGS.HOST);
// ...
client.on ('Connect', function () {
client.Connected = true;
});
client.on ('Close', function () {
// sem argumentos - a conexão foi fechada
client.Connected = false;
});
função getData (chave, wrapper, res) {
client.get (chave, função (erro, resultado) {
// Todos os retornos de chamada têm dois argumentos.
// 'resultado' pode conter coisas que não são ótimas, mas
// não são realmente erros, como 'não_stored'
if (! erro) {
if (resultado) {
cacheObject [key] = resultado;
res.write (wrapper + '(' + resultado + ')');
} outro {
res.Write ('sem dados');
}
res.nd ();
}
});
/*if (cacheObject [key]) {
Response.Write (CacheObject [key]);
resposta.END ();
} outro {
client.get (chave, função (erro, resultado) {
// Todos os retornos de chamada têm dois argumentos.
// 'resultado' pode conter coisas que não são ótimas, mas
// não são realmente erros, como 'não_stored'
if (! erro) {
cacheObject [key] = resultado;
cacheObject [key] ['timeoutId'] = setTimeout (function () {
client.get (chave, função (erro, resultado) {
if (! erro) {
cacheObject [key] = resultado;
}
});
});
resposta.write (resultado);
resposta.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);
caminho = queryobj.pathname;
if (queryobj.gid) {
getData (queryobj.gid, queryobj.callback || 'retorno de chamada', res);
} outro {
res.Write ('sem entrada');
res.nd ();
}
/*
switch (urlobj.pathname) {
case '/Pai':
res.write (urlobj.pathname);
quebrar;
case '/qiang':
res.write (urlobj.pathname);
quebrar;
padrão:
res.Write ('padrão');
quebrar;
}
res.nd ();
*/
});
client.connect ();
httpServer.listen (httpsettings.port);
console.log ('servidor http ouvindo em' + httpsettings.port);