最近做一个项目,需要用到redis做socket.io的共享,涉及到了socket.io-redis模块,遇到点问题,请大神指点1,2
说正题,做的是一个聊天项目,想部署多个节点的node服务器,目前是用,pm2 进行的多进程 分布式。 目前我所知道的是:
var redisAdapter = require('socket.io-redis');
var redis = require('redis');
var pub = redis.createClient(config.redis_config.port, config.redis_config.host, {auth_pass: config.redis_config.auth_pass});
var sub = redis.createClient(config.redis_config.port, config.redis_config.host, {
detect_buffers: true,
auth_pass: config.redis_config.auth_pass
});
io.adapter(redisAdapter({
host: config.redis_config.host,
port: config.redis_config.port,
pubClient: pub,
subClient: sub
}));
不过这个不太好用,总是在启动的时候报on_error的错误,不能连接redis。
但是之前用的redis共享内存中的数据的时候就没问题