redis做聊天的应用

53 篇文章 0 订阅

refs:

1)ruby

https://gist.github.com/pietern/348262

https://gist.github.com/ahaedike/a7f35c0bb9cc40fdc48e

2)python


3)node js

http://blog.csdn.net/icetime17/article/details/45768065


对redis的pub/sub 有兴趣,但一直没深入,知道有个网页聊天应用使用了它,但是对ruby不熟悉,所以看到了node js的应用,参考了下。

nodejs连接redis:

var redis   = require('redis');
var client  = redis.createClient('6379', '127.0.0.1');

// redis 验证 (reids.conf未开启验证,此项可不需要)
client.auth("foobared");
根据参考3)方案,需要文件

<html>
<script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
hello world
<script type="text/javascript">
    console.log("hello");
    var socket = io('http://localhost:4000');
    socket.on('connection', function() {
        console.log('connection setup for socket.io')
    });

    socket.on('msgReceived', function(msg) {
        alert(msg);
    })
</script>
</html>
xx

var server = require('http').createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
}).listen(4000);

var redis = require('redis');
var redisclient = redis.createClient();

var sub = function(c) {
    var c = c || 'chatchannel';
    redisclient.subscribe(c, function(e) {
        console.log('subscribe channel : ' + c);
    });
}
sub();

console.log('Server running at http://127.0.0.1:4000/');

var io = require('socket.io')(server);
io.on('connection', function(socket) {
    redisclient.on('message', function(error, msg) {
        console.log('connection');
        console.log(msg);
        socket.emit('msgReceived', msg);        
    });
})

redis-cli中的动作:

192.168.1.232:0>publish chatchannel "how are youx"

1


//----------------------------------------------------------------------------------------------------------------------------------------------

redisclient连接和redis-cli通信,

socket.io用来后台和web browser交互。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值