因此,我将节点应用程序从socket.io 0.9.x迁移到1.x,并且在配置RedisStore时遇到问题。在使用0.9.x时,我可以使用它,但是我不知道如何在1.x中使用它。该文档似乎仅适用于0.9.x。这是他们文档中的相关部分,我遵循并使用了旧版本:
var RedisStore = require('socket.io/lib/stores/redis') , redis = require('socket.io/node_modules/redis') , pub = redis.createClient() , sub = redis.createClient() , client = redis.createClient(); io.set('store', new RedisStore({ redisPub : pub , redisSub : sub , redisClient : client }));
据我所知,问题似乎出在这部分:
var RedisStore = require('socket.io/lib/stores/redis') , redis = require('socket.io/node_modules/redis')
这些文件在socket.io模块中似乎不再存在。
另外,我一直在使用他们的迁移指南作为参考,但是没有提到如何配置RedisStore的特定更改。
任何帮助或想法将不胜感激。谢谢!
万一其他人遇到和我一样的麻烦,这就是我如何使其再次工作。
首先,您需要安装socket.io-redis模块:
socket.io-redis
npm install socket.io-redis --save
然后,从您的节点应用程序中,您需要用以下内容替换以前的与socket + redis相关的配置代码:
var redis = require('socket.io-redis') io.adapter(redis({ host: 'localhost', port: 6379 }))
而已!
参考链接:
https://github.com/automattic/socket.io- redis