您的位置:首页 > 数据库 > Redis

redis做聊天的应用

2015-10-29 17:00 756 查看
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交互。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: