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关于gzip/deflate压缩详解
Mar 04 NodeJs
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs使用socket5进行代理请求的实现
Feb 21 NodeJs
nodejs中内置模块fs,path常见的用法说明
Nov 07 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
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
大学生军训自我评价分享
2013/11/09 职场文书
企业门卫岗位职责
2013/12/12 职场文书
小学六年级学生评语
2014/04/22 职场文书
分公司负责人任命书
2014/06/04 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
大学生实训报告总结
2014/11/05 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
亮剑观后感500字
2015/06/05 职场文书