当前位置: 首页 > 面试题库 >

将socket.io从0.9.x迁移到1.x,配置RedisStore时遇到问题

曹焱
2023-03-14
问题内容

因此,我将节点应用程序从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模块:

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



 类似资料:
  • 我开发了一个web服务应用程序,它可以很好地与jersey 1.x(1.16)一起工作。我最近试图迁移到最新的稳定的jersey 2.8版本 我删除了V1.16的所有jersey jar文件,然后从链接-https://jersey.java.net/download.html下载了V2.8的jersey jar 根据文档,我了解到,我应该有最新的servlet jar,servlet JAR2.

  • 新的中间件签名 Koa v2 引入了新的中间件签名。 旧签名中间件(v1.x)支持将在 v3 中删除 新的中间件签名是这样的: // 使用异步箭头方法 app.use(async (ctx, next) => { try { await next() // next 现在是一个方法 } catch (err) { ctx.body = { message: err

  • 在我们当前的项目中,我们使用Java8,SpringBoot1.5.4。ApacheCamel 2.17.1版团队计划将Camel升级到3.4版。因为它支持Java8。我看到了camel文档,其中声明将从3.4中放弃对Java8的支持。X版本之后,但很难找到与camel 3.4一起使用所需的spring boot版本的兼容版本。我需要升级spring启动版本吗?如果是的话,会是哪个版本,或者在哪里

  • 更喜欢观看视频?可以点此观看。 下面以 antd-admin 为例,介绍如何从 umi@1 升级到 umi@2 。 npm 依赖 升级 umi 到 ^2.0.0-0,并使用 umi-plugin-react 代替以前的众多插件,包含 umi-plugin-dva、umi-plugin-dll、umi-plugin-routes、umi-plugin-polyfill 和 umi-plugin-lo

  • 嗨,我遇到了一些使用log4j的代码。我想移动到log4j2。从http://logging.apache.org/log4j/2.x/manual/migration.html中,我发现可以使用log4j-1.2-api.jar。我有以下问题: > 在代码中,我有一个自定义的appender(正如链接中给出的,我不应该使用类appender的内部),这意味着我不能使用log4j-1.2-api.

  • FAQ 哇,非常长的一页!是否意味着 Vue 2.0 已经完全不同了呢,是否需要从头学起呢,Vue 1.0 的项目是不是没法迁移了? 非常开心地告诉你,并不是!几乎 90% 的 API 和核心概念都没有变。因为本节包含了很多详尽的阐述以及许多迁移的例子,所以显得有点长。不用担心,你不必从头到尾把本节读一遍! 我该从哪里开始项目迁移呢? 首先,在当前项目下运行迁移工具。我们非常谨慎地把高级 Vue