c.h*_*ill 5 redis node.js socket.io
所以我将我的节点应用程序从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
}));
Run Code Online (Sandbox Code Playgroud)
据我所知,问题似乎是这部分:
var RedisStore = require('socket.io/lib/stores/redis')
, redis = require('socket.io/node_modules/redis')
Run Code Online (Sandbox Code Playgroud)
这些文件似乎不再存在于socket.io模块中.
此外,我一直在使用他们的迁移指南作为参考,但没有提及如何配置RedisStore的具体更改.
任何帮助或想法将不胜感激.谢谢!
如果其他人遇到了我所遇到的同样麻烦,这就是我如何重新开始工作的原因.
首先,您需要安装socket.io-redis模块:
npm install socket.io-redis --save
Run Code Online (Sandbox Code Playgroud)
然后,从您的节点应用程序中,您需要使用以下内容替换以前的socket + redis相关配置代码:
var redis = require('socket.io-redis')
io.adapter(redis({
host: 'localhost',
port: 6379
}))
Run Code Online (Sandbox Code Playgroud)
而已!
参考链接:
https://github.com/automattic/socket.io-redis
| 归档时间: |
|
| 查看次数: |
2238 次 |
| 最近记录: |