pomelo下memcached的安装以及使用(二)

上一篇已经正常安装了memcached和开启了memcached服务,接下来在pomelo中使用memcached

{
  "development": [
    "127.0.0.1:11211"
  ],
  "production": [
    "127.0.0.1:11211"
  ]
}
	然后在app中创建一个memcached.js
/**
 * Created by Mic on 16/1/11.
 */

var cachedClient = module.exports;
var _mem;

cachedClient.init = function (app) {
    if (!!_mem) {
        return cachedClient;
    } else {
        var M = require('memcached');
        console.log(app.get('memcached'));
        _mem = new M(app.get("memcached"), {compressionThreshold: 10});
        return cachedClient;
    }
};

cachedClient.set = function (key, args, cb) {
    console.log('memcached set ',key,args,cb);
    _mem.set(key, args, 0, function (err, result) {
        if (err) {
            console.error(err);
        }
        if (!!cb && typeof cb === 'function') {
            cb(err, result);
        }
    });
};

cachedClient.get = function (key, cb) {
    console.log('memcached get ',key,cb);

    _mem.get(key, function (err, result) {
        console.log('#get ',err,result);
        if (err) {
            console.error(err);
        }
        if (!!cb && typeof cb === 'function') {
            cb(err, result);
        }
    });
};

cachedClient.del = function (key, cb) {
    _mem.del(key, function (err, result) {
        if (err) {
            console.error(err);
        }
        if (!!cb && typeof cb === 'function') {
            cb(err, result);
        }
    });
};

	最后在app.js中添加配置
//add for memcached
app.configure('production|development',function(){
   app.loadConfig('memcached',app.getBase()+'/config/memcached.json');
   var memclient = require('./app/dao/memcached/memcached').init(app);
   app.set('memclient',memclient);
});


	使用
	
//test
var pomelo = require('pomelo');
var mem = pomelo.app.get('memclient');


mem.set('userName',uid);
mem.get('userName',function(err,data){
   console.log('MEMCACHED ',data);
});


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你已经安装了Node.js和npm,下面是一个简单的Pomelo应用程序的示例: 1. 创建一个新的Pomelo应用程序 ``` npm install -g pomelo-generator pomelo init myapp cd myapp npm install ``` 2. 启动Pomelo应用程序 ``` pomelo start ``` 3. 创建一个简单的聊天服务器 在myapp目录中创建一个新目录chat,并在chat目录中创建一个新文件chat.js: ``` module.exports = function(app) { return new ChatHandler(app); }; var ChatHandler = function(app) { this.app = app; }; ChatHandler.prototype.send = function(msg, session, next) { var rid = session.get('rid'); var username = session.get('username'); var channelService = this.app.get('channelService'); var param = { msg: msg.content, from: username, target: msg.target }; channel = channelService.getChannel(rid, false); channel.pushMessage('onChat', param); next(null, { route: msg.route }); }; ``` 4. 创建一个简单的聊天客户端 在myapp目录中创建一个新目录web-server,并在web-server目录中创建一个新文件index.html: ``` <html> <head> <title>Chat Client</title> <script src="/pomelo.js"></script> </head> <body> <div id="chat"> <input id="username" type="text" placeholder="username"/> <input id="submit" type="button" value="Join"/> <input id="leave" type="button" value="Leave"/> <br /> <textarea id="content" rows="10" cols="50"></textarea> <br /> <input id="to" type="text" placeholder="to"/>: <input id="msg" type="text" placeholder="message"/> <input id="send" type="button" value="Send"/> </div> <script> var pomelo = window.pomelo; var username = ''; var rid = 'room'; var channel = null; var route = 'chat.chatHandler.send'; function init() { pomelo.init({ host: location.hostname, port: 3014, log: true }, function() { console.log('init success'); }); } function login() { username = document.getElementById('username').value; pomelo.request('gate.gateHandler.queryEntry', { uid: username }, function(data) { pomelo.disconnect(); pomelo.init({ host: data.host, port: data.port, log: true }, function() { pomelo.request('connector.entryHandler.enter', { username: username, rid: rid }, function(data) { console.log(data); channel = pomelo.subscribe('chat' + rid); channel.on('onChat', function(data) { addMessage(data.from, data.msg); }); }); }); }); } function addMessage(from, msg) { var content = document.getElementById('content'); content.value = content.value + from + ":" + msg + "\r\n"; } function leave() { pomelo.request('connector.entryHandler.leave', { username: username, rid: rid }, function(data) { console.log(data); }); } function send() { var target = document.getElementById('to').value; var msg = document.getElementById('msg').value; pomelo.request(route, { rid: rid, content: msg, from: username, target: target }, function(data) { console.log(data); }); } init(); document.getElementById('submit').addEventListener('click', login); document.getElementById('leave').addEventListener('click', leave); document.getElementById('send').addEventListener('click', send); </script> </body> </html> ``` 5. 启动Web服务器 在myapp目录中创建一个新目录web-server,并在web-server目录中创建一个新文件app.js: ``` var express = require('express'); var path = require('path'); var app = express(); app.use(express.static(path.join(__dirname, 'public'))); app.listen(3000, function() { console.log('Web server started at http://localhost:3000'); }); ``` 6. 启动Pomelo和Web服务器 在myapp目录中运行以下命令: ``` pomelo start cd web-server node app.js ``` 现在你可以通过浏览器访问http://localhost:3000,输入用户名并点击Join按钮加入聊天室。你还可以使用Leave按钮离开聊天室,使用Send按钮发送消息给其他用户,或者使用To输入框指定目标用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值