使用nodejs如何讀取memcache的樣本程式

來源:互聯網
上載者:User

 本人主要介紹了使用nodejs如何讀取memcache的樣本程式,大家參考使用吧

代碼如下: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    , client    , requestHandler; client = new memcache.Client(memsettings.port, memsettings.host);//...client.on('connect', function(){    client.connected = true;}); client.on('close', function(){    // no arguments - connection has been closed    client.connected = false;}); function getData(key, wrapper, res){    client.get(key, function(error, result){            // all of the callbacks have two arguments.            // 'result' may contain things which aren't great, but            // aren't really errors, like 'NOT_STORED'            if(!error){                if(result){                    cacheObject[key] = result;                    res.write( wrapper + '(' + result + ')');                } else {                    res.write('no data');                }                res.end();            }     });    /*if(cacheObject[key]){        response.write(cacheObject[key]);        response.end();    } else  {        client.get(key, function(error, result){             // all of the callbacks have two arguments.            // 'result' may contain things which aren't great, but            // aren't really errors, like 'NOT_STORED'            if(!error){                cacheObject[key] = result;                cacheObject[key]['timeoutId'] = setTimeout(function(){                    client.get(key, function(error, result){                        if(!error){                            cacheObject[key] = result;                        }                    });                });                response.write(result);                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||'callback', res);    } else {        res.write('no input');        res.end();    }    /*    switch(urlObj.pathname){        case '/pai':            res.write(urlObj.pathname);        break;        case '/qiang':            res.write(urlObj.pathname);        break;        default:            res.write('default');        break;    }    res.end();    */}); client.connect();httpserver.listen(httpsettings.port);console.log('http server listening on ' + httpsettings.port); 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.