redis - socket.io redis ECONNREFUSED

标签 redis socket.io

我的主机允许端口 8000 到 8010

var express = require('express')
  , https = require('https')
  , app = express()
  , cluster = require('cluster')
  , numCPUs = require('os').cpus().length
  , RedisStore = require("socket.io/lib/stores/redis")
  , redis = require("socket.io/node_modules/redis");
  , pub = redis.createClient(8002)
  , sub = redis.createClient(8002)
  , client = redis.createClient(8002);
  , server = https.createServer(options,app);
  , io = require('socket.io').listen(server);
io.set('store',new RedisStore({redisPub:pub,redisSub:sub,redisClient:client}));
if(cluster.isMaster){for(var i=0;i<numCPUs;i++){cluster.fork();}}
else{
  console.log(numCPUs);
  io.sockets.on('connection',function(socket){/*do stuff*/});
  server.listen(8002);
}

我很难理解我是否因为端口问题无法连接到 redis,或者 socket.io 提供的 redis 是否打开...

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: Redis connection to 127.0.0.1:8002 failed - connect ECONNREFUSED
at RedisClient.on_error (/home/engine/public_html/node_modules/socket.io/node_modules/redis/index.js:149:24)
at Socket.<anonymous> (/home/engine/public_html/node_modules/socket.io/node_modules/redis/index.js:83:14)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:426:14
at process._tickCallback (node.js:415:13)
[root@vps ~]#    info  - socket.io started

另外,我不明白这怎么能给我额外的工作人员(我在 console.log(numCPUs) 上显示 1,那么这是否意味着我只有 1 个工作人员?如果是这样,这意味着没有变化性能;使这种努力变得毫无意义!?)。

最佳答案

您需要安装并运行您自己的 redis 实例,然后使用节点客户端进行连接。

查看此线程以获取更多信息以执行您正在尝试执行的操作。

Examples in using RedisStore in socket.io

关于redis - socket.io redis ECONNREFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18272740/

相关文章:

Php Redis 连接问题

node.js - Express 和 Redis - 如果该用户存在 session ,则不允许访问

javascript - Flask-SocketIO 与 RabbitMQ 一起使用时未从前端接收消息

javascript - 使用 Socket.IO 表达 : Server doesn't receive emits from client

php - CodeIgniter 在 Redis 中存储 PHP session

mysql - 如何从mysql加载并保存更新的数据到redis中?

javascript - socket.io 在每个新客户端连接时都会复制信息

node.js - Docker镜像在开发之前还是之后? (初学者)

node.js - Socket.io 聊天教程无法正常运行

php - 对于数千个页面的最快 PHP 网页缓存的建议?