复制代码代码如下:
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
, клиент
, запрос handler;
client = new memcache.client (memsettings.port, memsettings.host);
// ...
client.on ('connect', function () {
client.connected = true;
});
client.on ('close', function () {
// нет аргументов - соединение было закрыто
client.connected = false;
});
функция getData (key, rabper, res) {
client.get (key, function (ошибка, результат) {
// Все обратные вызовы имеют два аргумента.
// «результат» может содержать вещи, которые не велики, но
// на самом деле не ошибки, такие как 'not_stored'
if (! error) {
if (result) {
cacheObject [key] = result;
res.write (warper + '(' + result + ')');
} еще {
res.write ('без данных');
}
res.end ();
}
});
/*if (cacheObject [key]) {
response.write (cacheobject [key]);
response.end ();
} еще {
client.get (key, function (ошибка, результат) {
// Все обратные вызовы имеют два аргумента.
// «результат» может содержать вещи, которые не велики, но
// на самом деле не ошибки, такие как 'not_stored'
if (! error) {
cacheObject [key] = result;
cacheobject [key] ['timeoutid'] = settimeout (function () {
client.get (key, function (ошибка, результат) {
if (! error) {
cacheObject [key] = result;
}
});
});
response.write (результат);
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 || 'обратный вызов', res);
} еще {
res.write ('без ввода');
res.end ();
}
/*
Switch (urlobj.pathname) {
case '/pai':
res.write (urlobj.pathname);
перерыв;
Case '/Qiang':
res.write (urlobj.pathname);
перерыв;
по умолчанию:
res.write ('по умолчанию');
перерыв;
}
res.end ();
*/
});
client.connect ();
httpserver.listen (httpsettings.port);
console.log ('http -сервер прослушивает' + httpsettings.port);