nodejs读取memcache示例分享


Posted in NodeJs onJanuary 02, 2014
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);
NodeJs 相关文章推荐
NodeJS的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs教程之入门
Nov 21 NodeJs
nodejs简单实现中英文翻译
May 04 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 NodeJs
使用nodejs+express实现简单的文件上传功能
Dec 27 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
nodejs基础之常用工具模块util用法分析
Dec 26 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 NodeJs
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 #NodeJs
NodeJS的url截取模块url-extract的使用实例
Nov 18 #NodeJs
NodeJS url验证(url-valid)的使用方法
Nov 18 #NodeJs
NodeJS与Mysql的交互示例代码
Aug 18 #NodeJs
利用NodeJS的子进程(child_process)调用系统命令的方法分享
Jun 05 #NodeJs
将nodejs打包工具整合到鼠标右键的方法
May 11 #NodeJs
用nodejs写的一个简单项目打包工具
May 11 #NodeJs
You might like
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
php中in_array函数用法分析
2014/11/15 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
简单实现php上传文件功能
2017/09/21 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
小程序中的箭头函数的具体使用
2020/06/19 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python如何对实例属性进行类型检查
2018/03/20 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
英文简历中的自我评价用语
2013/12/09 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
爱晚亭导游词
2015/02/09 职场文书
校本研修个人总结
2015/02/28 职场文书
疾病证明书
2015/06/19 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android