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批量修改文件编码格式
Jan 22 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
Nodejs高扩展性的模板引擎 functmpl简介
Feb 13 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
nodejs+express最简易的连接数据库的方法
Dec 23 NodeJs
在nodejs中创建child process的方法
Jan 26 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
SMARTY学习手记
2007/01/04 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
py中的目录与文件判别代码
2008/07/16 Python
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
Python版微信红包分配算法
2015/05/04 Python
Python 中的 else详解
2016/04/23 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
关于爱情的广播稿
2014/01/16 职场文书
服务员态度差检讨书
2014/10/28 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
电话营销开场白
2015/05/29 职场文书
植树节新闻稿
2015/07/17 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书