redis 是错误的方式,因为 commond 做
该消息确实应该更新,但似乎您以某种方式通过了错误的协议。
您能否将您作为 args 传递给Redis.createClient()
的内容显示出来(替换用户名/密码/具体 url),并保持所有内容与传递给 node_redis 的完全相同?
我遇到了同样的问题。 然后我意识到启用rediss
作为协议的提交尚未发布。 最新版本2.8.0
还没有这个提交: https ://github.com/NodeRedis/node_redis/commit/5d6e471d0c14df39974000427719c5d85fa4f21f
什么时候出新版? 我需要这个功能。
@BridgeAR @stockholmux @Salakar友好 ping。 这个警告可能需要一个新版本。
@Teamop不幸的是,我无权向 npm 发布任何内容 - 只有@BridgeAR可以。
我遇到了这个问题。 如果查看在线回购,我会看到 redis 的语句块。
https://github.com/NodeRedis/node_redis/blob/23ef1e7afadd6022526860d22ac0a7f78495106d/lib/createClient.js#L34
但是,当我检查我的实际 node_modules 文件夹时,版本说它是 2.8,但是 createClient 文件没有那个 redis 语句块。 我通过将 redis if 语句粘贴到我的本地节点模块中来进行本地修复,并且有效。 我不确定分布式版本与 repo 中在线显示的版本有何不同。
抱歉,我才意识到 2.8.0 是在 2017 年发布的,而不是 2018 年发布的,在 TLS 支持被添加到 master 之前
使用 TLS 支持有什么重要价值吗?
我很喜欢今天拥有它,它可以让我们与加密的身份验证 AWS ElasticCache
@jasonamyers我在https://github.com/luin/ioredis在这个问题上取得了更大的成功——但你需要一个缓存集群设置,包括静态加密、传输加密和密码。 API 类似。
您好,当它进入主人并被释放时,有人可以请教吗? 遇到这个问题,不得不手动覆盖 node_module 中的 createClient.js。 这个问题已经打开了一年多。 我们可以将其推出并允许 TLS 吗?
目前,本节
if (parsed.protocol && parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
需要替换为
if (parsed.protocol === 'rediss:') {
options.tls = options.tls || {};
} else if (parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
在 createClient.js 中以获得redis://支持,或者您可以尝试另一种方式,如下所示。
var redis = require("redis");
var client = redis.createClient("redis://:password<strong i="13">@host</strong>:port", {tls:{}});
通过将 tls 作为空对象传递,我的 redis 客户端连接起来没有任何问题。
@scriptonian这也应该通过避免在 createClient.js 中手动覆盖来解决您的问题
请注意 :
如果我的评论风格很奇怪,请告诉我。 我是 github 的新手。 :)
谢谢你,venkatesh,是的,我已经做出了这个改变,因为 coguy450 在评论中建议了它。 但我很惊讶团队还没有更新这个。 已经一年多了!
+1
此修复程序是否有新版本?
有人想提出拉取请求以支持 redis:// url?
你呢@venkatesh-nadar 🙂
@peterpoliwoda它似乎已经添加到主分支中...... 👍
嗯...是的,我看到它在 repo 中,但 npm 没有安装修复程序。 版本号没有改变,所以 'npm install' 保留旧版本,就像存档中有旧的 tarball 一样。
我通过直接从 Github 安装它来工作
'''
npm 安装https://github.com/NodeRedis/node_redis
'''
非常感谢@venkatesh-nadar!
@BridgeAR我们可以在 npm 中获得新版本吗?
在过去的几年里,已经多次联系@BridgeAR请求 npm 发布访问权限,但没有收到回音,我知道他正忙于 Node.js 的事情,这可能是这个 repo 被忽略的原因。
让我们在https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899 讨论回购的未来?
大家好,我已接任首席维护者,现在拥有所有必需的访问权限🎉
在过去的几天里,我一直在为 master 的发布做准备,而在几分钟前,我刚刚将 v3.0.0 发布到 NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - 其中包括此更改。
期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新的先前问题,但没有人有能力这样做。 我正在解决以下问题;
Sponsor
按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它之后,我将把注意力转移到 Node Redis 代码库中的现代化(例如 promise)和清除技术债务上。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。
最有用的评论
大家好,我已接任首席维护者,现在拥有所有必需的访问权限🎉
在过去的几天里,我一直在为 master 的发布做准备,而在几分钟前,我刚刚将 v3.0.0 发布到 NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - 其中包括此更改。
期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新的先前问题,但没有人有能力这样做。 我正在解决以下问题;
Sponsor
按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它之后,我将把注意力转移到 Node Redis 代码库中的现代化(例如 promise)和清除技术债务上。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。