复制代码代码如下:
var memcache = request ('Memcache')
, http = require ('http')
, url = requerir ('url')
, qs = require ('QueryString')
, memsettings = {Port: 2000, Host: '10 .6.0.6 '}
, httpsettings = {puerto: 3000}
, cacheObject = {}
, httpserver
, cliente
, requesthandler;
Client = new Memcache.client (memsettings.port, memsettings.host);
// ...
Client.on ('Connect', function () {
client.connected = true;
});
client.on ('cerrar', function () {
// sin argumentos: la conexión se ha cerrado
client.connected = false;
});
function getData (Key, Wrapper, Res) {
Client.get (clave, función (error, resultado) {
// Todas las devoluciones de llamada tienen dos argumentos.
// 'resultado' puede contener cosas que no son geniales, pero
// no son realmente errores, como 'no_stored'
if (! error) {
if (resultado) {
cacheObject [clave] = resultado;
res.write (Wrapper + '(' + resultado + ')');
} demás {
res.write ('sin datos');
}
res.end ();
}
});
/*if (cacheObject [key]) {
respuesta.write (cacheObject [clave]);
respuesta.end ();
} demás {
Client.get (clave, función (error, resultado) {
// Todas las devoluciones de llamada tienen dos argumentos.
// 'resultado' puede contener cosas que no son geniales, pero
// no son realmente errores, como 'no_stored'
if (! error) {
cacheObject [clave] = resultado;
cacheObject [key] ['timeOutId'] = setTimeOut (function () {
Client.get (clave, función (error, resultado) {
if (! error) {
cacheObject [clave] = resultado;
}
});
});
respuesta.write (resultado);
respuesta.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);
ruta = QueryObj.PathName;
if (queryobj.gid) {
getData (QueryObj.gid, QueryObj.Callback || 'Callback', Res);
} demás {
res.write ('sin entrada');
res.end ();
}
/*
switch (urlobj.pathname) {
Caso '/Pai':
res.write (urlobj.pathname);
romper;
Caso '/Qiang':
res.write (urlobj.pathname);
romper;
por defecto:
res.write ('predeterminado');
romper;
}
res.end ();
*/
});
Client.connect ();
httpserver.listen (httpsettings.port);
console.log ('Servidor HTTP escuchando en' + httpsettings.port);