nodejs和socket.io-redis(socket.io 1.0.6):如何redis订阅?

时间:2014-07-10 09:59:07

标签: node.js sockets node-redis socket.io-1.0

我刚刚将socket.io更新为1.0.6版,发现socket.io/node_modules下没有redis了。

所以,我在npm安装了socket.io-redis,因为这个线程说它是正确的解决方案: Migrating socket.io from 0.9.x to 1.x, Problems with configuring RedisStore

但是,在上一个版本中,我曾经在app.js上使用以下代码:

var redis = require('socket.io/node_modules/redis');
var sub = redis.createClient();

使用这种新方法,运行节点app.js会引发错误:它抱怨redis没有createClient方法。

如何使用socket.io(1.0.6)和socket.io-redis进行订阅?

1 个答案:

答案 0 :(得分:0)

redis外,您还应导入socket.io-redis模块。

var redisAdapter = require('socket.io-redis');
var redis = require('redis');

var pub = redis.createClient(port, host);
var sub = redis.createClient(port, host);

io.adapter( redisAdapter({pubClient: pub, subClient: sub}) );