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中自定义事件实例
Jun 20 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
NodeJS的Promise的用法解析
May 05 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
从零学Python之入门(二)基本数据类型
2014/05/25 Python
python删除过期文件的方法
2015/05/29 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
深入理解Django-Signals信号量
2019/02/19 Python
python画图常规设置方式
2020/03/05 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
Python实现随机爬山算法
2021/01/29 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
软件测试笔试题
2012/10/25 面试题
大学四年规划书范文
2013/12/27 职场文书
集中采购方案
2014/06/10 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书