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学习笔记之MongoDB模块
Jan 13 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
初探nodeJS
Jan 24 NodeJs
NodeJs中express框架的send()方法简介
Jun 20 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
nodejs+express最简易的连接数据库的方法
Dec 23 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 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
PHP数组交集的优化代码分析
2011/03/06 PHP
js控制div及网页相关属性的代码
2009/12/19 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
详解用python写一个抽奖程序
2019/05/10 Python
python多线程实现TCP服务端
2019/09/03 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
餐厅总厨求职信
2014/03/04 职场文书
农村改厕实施方案
2014/03/22 职场文书
会员活动策划方案
2014/08/19 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
建国大业观后感600字
2015/06/01 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
担保书格式范文
2015/09/22 职场文书
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL