复制代码代码如下 :
var memcache = require ( 'memcache')
, http = require ( 'http')
, url = 요구 사항 ( 'url')
, QS = 요구 사항 ( 'QueryString')
, memsettings = {포트 : 2000, 호스트 : '10 .6.0.6 '}
, httpsettings = {포트 : 3000}
, cacheObject = {}
, httpserver
, 고객
, requestHandler;
클라이언트 = new memcache.client (memsettings.port, memsettings.host);
// ...
client.on ( 'connect', function () {
client.connected = true;
});
client.on ( 'close', function () {
// 인수 없음 - 연결이 닫혔습니다
client.connected = false;
});
함수 getData (키, 래퍼, res) {
client.get (키, 함수 (오류, 결과) {
// 모든 콜백에는 두 가지 인수가 있습니다.
// '결과'는 크지 않은 것들을 포함 할 수 있지만
// 'not_stored'와 같은 오류가 아닙니다.
if (! error) {
if (결과) {
CacheObject [key] = 결과;
res.write (Wrapper + '(' + result + ')');
} 또 다른 {
res.write ( '데이터 없음');
}
res.end ();
}
});
/*if (cacheObject [key]) {
response.write (cacheObject [key]);
응답 ();
} 또 다른 {
client.get (키, 함수 (오류, 결과) {
// 모든 콜백에는 두 가지 인수가 있습니다.
// '결과'는 크지 않은 것들을 포함 할 수 있지만
// 'not_stored'와 같은 오류가 아닙니다.
if (! error) {
CacheObject [key] = 결과;
cacheObject [key] [ 'timeoutId'] = settimeout (function () {
client.get (키, 함수 (오류, 결과) {
if (! error) {
CacheObject [key] = 결과;
}
});
});
응답 (결과);
응답 ();
}
});
}*/
}
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);
경로 = queryobj.pathname;
if (queryobj.gid) {
getData (queryobj.gid, queryobj.callback || '콜백', res);
} 또 다른 {
res.write ( '입력 없음');
res.end ();
}
/*
스위치 (urlobj.pathname) {
CASE '/PAI':
res.write (urlobj.pathname);
부서지다;
사례 '/Qiang':
res.write (urlobj.pathname);
부서지다;
기본:
res.write ( 'default');
부서지다;
}
res.end ();
*/
});
client.connect ();
httpserver.listen (httpsettings.port);
console.log ( 'http 서버에서' + httpsettings.port에서 듣는);