复制代码代码如下:
var memcache = requis ('memcache')
, http = requis ('http')
, url = require ('url')
, qs = require ('querystring')
, memsettings = {port: 2000, hôte: '10 .6.0.6 '}
, httpsettings = {port: 3000}
, cacheobject = {}
, HttpServer
, client
, demandeur de demande;
client = new memcache.client (memsettings.port, memsettings.host);
// ...
client.on ('connect', function () {
client.connected = true;
});
client.on ('close', function () {
// Aucun argument - la connexion a été fermée
client.connected = false;
});
fonction getData (clé, wrapper, res) {
client.get (clé, fonction (erreur, résultat) {
// Tous les rappels ont deux arguments.
// «résultat» peut contenir des choses qui ne sont pas géniales, mais
// ne sont pas vraiment des erreurs, comme 'Not_stored'
if (! error) {
if (résultat) {
cacheObject [key] = résultat;
res.write (wrapper + '(' + résultat + ')');
} autre {
res.write («pas de données»);
}
res.end ();
}
});
/ * if (cacheobject [key]) {
Response.Write (CacheObject [KEY]);
réponse.end ();
} autre {
client.get (clé, fonction (erreur, résultat) {
// Tous les rappels ont deux arguments.
// «résultat» peut contenir des choses qui ne sont pas géniales, mais
// ne sont pas vraiment des erreurs, comme 'Not_stored'
if (! error) {
cacheObject [key] = résultat;
cacheObject [key] ['timeoutid'] = setTimeout (function () {
client.get (clé, fonction (erreur, résultat) {
if (! error) {
cacheObject [key] = résultat;
}
});
});
Response.Write (résultat);
réponse.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);
} autre {
res.write («pas d'entrée»);
res.end ();
}
/ *
switch (urlobj.pathname) {
Cas '/ Pai':
res.write (urlobj.pathname);
casser;
case '/ Qiang':
res.write (urlobj.pathname);
casser;
défaut:
res.write ('par défaut');
casser;
}
res.end ();
* /
});
client.connect ();
httpServer.Listen (httpsettings.port);
console.log ('Http Server écoutant sur' + httpsettings.port);