zoukankan      html  css  js  c++  java
  • 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);
    

      

  • 相关阅读:
    linux下挂载硬盘出错的解决方法
    linux下解压缩文件中文乱码问题的解决
    VLC播放器的快捷键(shutcut)
    PGSQL 日期时间的比较
    PGSQL 字符串作为查询参数的处理
    pqsql 防注入
    js字符数组转化为数字数组
    js去除字符串的前后空白
    使用gravatar生成头像
    js删除数组的某个元素
  • 原文地址:https://www.cnblogs.com/arliang/p/Node_read_memcache.html
Copyright © 2011-2022 走看看