socket.io与redis商店

时间:2015-02-16 15:19:37

标签: redis socket.io

我正在使用带有redis存储的socket.io。我从socket.io网站获取以下代码。

var io = require('socket.io')(server);
var redis = require('socket.io-redis');
io.adapter(redis({host: '128.199.122.183', port: 6379}));

io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        console.log(data);
    });
});

代码按预期运行但我希望看到一些条目(键值对)在redis中制作但没有找到任何条目。谁能告诉我如何检查socket.io是否正在使用redis?

1 个答案:

答案 0 :(得分:3)

当前的socket.io-redis包不会在数据库中存储任何内容(尽管将来可能会更改)。它使用redis pub / sub机制在不同节点之间分发消息。

要检查它是否正常工作,您需要启动应用程序的多个实例,然后在其中一个实例上发出消息,并检查是否所有其他实例都在接收它。

您还可以使用redis-cli查看其是否正常工作。

redis-cli
>MONITOR

然后发出一些消息。