编辑: @Salakar :见下面的评论; https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899
这个路线图没有排序,也没有固定的日期,但更多的是一般的混搭。
[]更好的保持活动功能/改进检测死连接
[ ] 记录所有代码 (JSDoc)
如果您觉得缺少某些内容,请随时提出进一步的建议/为其打开功能请求。
已经几个月了,这方面有更新的时间表吗?
+1
任何机会集群/分片支持即将到来? AWS 在 ElastiCache 上有 redis 集群支持,我想使用它,但是这个库需要赶上那个功能集才能真正可行:(
这个问题应该固定恕我直言
另外https://github.com/gosquared/redis-clustr可能是集群支持的一个足够好的解决方案?
sentinel 的等效包装器会很棒。 也许https://www.npmjs.com/package/redis-sentinel但似乎已经死了(自上次发布以来 4 年)。
也许我们应该在这里讨论这个存储库的未来; 这个包最后一次发布到 NPM 是在 2 年前,master 上有近 2 年没有发布到 NPM 的修复,例如https://github.com/NodeRedis/node_redis/issues/1331;
请注意,这不是我在抱怨@BridgeAR ,他实际上在@nodejs中做得很好,所以可以理解他在这个 repo 上的时间是有限的。
我愿意承担一些维护负担,但我想考虑一下我们可以为此采取什么行动,因为现有存储库无法使用 NPM 发布访问权限(多年来已多次请求) .
现在似乎唯一的选择是分叉并重新开始,除非我们获得访问权限。
@Salakar我也愿意帮助推进这个包裹。 我不太清楚为什么我们需要放弃 NPM 包名('redis' 很强大)。 @BridgeAR不控制 NPM 包并需要将其转移给某人吗? 几个月来几乎没有什么动作,老实说,我不太明白只是坐在上面的逻辑。
我不认为我们应该弃用这个包——它是一个很好的代码库,可以更新,并且大量的其他包依赖它。
我想提出的另一件事是即将到来的 RESP3 / Redis 6 更改,这将需要进行重大更改。 我研究了 Redis 6 中的 ACL 功能,它应该很容易支持,但我们需要对 node_redis 进行一些认真的重构。 我的工作(在 Redis 实验室)将支持我在这个模块上的工作,但如果我们不能发布 NPM,那么投入时间是没有意义的。
@BridgeAR不控制 NPM 包并需要将其转移给某人吗? 几个月来几乎没有什么动作,老实说,我不太明白只是坐在上面的逻辑。
正确,但自 2018 年 2 月以来,我一直在请求 NPM 发布访问权限,2019 年 2 月再次请求,最近一次请求是在 2019 年 9 月。我有回复,但没有关于请求 NPM 发布访问权限的主题🤷♂。 https://github.com/NodeRedis/node_redis/issues/1402#issuecomment -490273744 可能给出一些意图的迹象?
如果转会不会发生,那么我认为需要明确这一点,以便我们继续前进。
例如 ioredis 真的很不错,并且有关于整合库的讨论(我研究了一些底层工具,例如新的解析器、denque lib、集群密钥槽计算等): https:// github.com/NodeRedis/node_redis#consolidation -its -time-for-celebration - 我仍然认为应该是长期目标吗?
题外话,但我确实开始尝试建立一个新客户端。 https://twitter.com/mikediarmid/status/1074240036936318976 - 但我停了下来,希望能重新开始或帮助巩固;
或许这也是一条路线🤷♂
@Salakar您是否与任何其他 NPM 所有者(Matt、Ben 或 Bryce)谈过? 如果鲁本是 MIA,那么如果我们希望项目向前推进,我认为一个人不应该成为障碍。 我想,这类问题就是为什么要这样设置的原因。 我发现关于 1402 的评论对一个开源项目来说很麻烦,尤其是一个没有(组织上)与一个人联系的项目。
我同意,ioredis 很好,但我不认为它是一刀切的解决方案。 至于整合,我认为统一解析器是已经完成的主要目标。 只是考虑到语法差异,我从未考虑过会有一个完整的模块。
@stockholmux :我的工作(在 Redis Labs)将支持我在这个模块上的工作,但如果我们不能发布 NPM,那么投入时间是没有意义的。
同样,我们也愿意为此投入资源@invertase ,但如果我们不能发布它,那么它对我们来说也没有意义。
@stockholmux : @Salakar你和其他 NPM 所有者(Matt、Ben 或 Bryce)谈过吗?
这是一个很好的观点,我没有,我会尽快与他们联系。
@stockholmux :我同意,ioredis 很好,但我不认为它是万能的解决方案。 至于整合,我认为统一解析器是已经完成的主要目标。 只是考虑到语法差异,我从未考虑过会有一个完整的模块。
出于兴趣, redis
lib 满足但ioredis
不满足的要求是什么? 我的要求涉及集群和哨兵, redis
目前不支持,除了一些第三方包,其中一些也被放弃了。
也许两个库之间的底层连接协议也可以共享,那么它纯粹是你如何与每个不同的库进行交互?
@Salakar我喜欢哨兵和集群的模块化方法,而不是 ioredis 的整体方法(同样,我们需要处理废弃软件)。 有些人需要这个,有些人不需要。 恕我直言,整个 Redis 生态系统正在变得越来越大,模块化是支持更多而不复杂的方式。 Ioredis 的代码库要大得多(18,897 行代码对 7,038 行代码),它可能有更多功能,但我宁愿没有那么多我没有使用的额外东西。
我认为 node_redis 有很大优势的地方是 Redis 模块支持,使用 node_redis 很容易,而使用 ioredis 则很痛苦。
我已经通过 Twitter DM 联系了@mranney ,询问他是否可以授予我自己和@stockholmux所有者对 GitHub 组织和 NPM 包的访问权限,所以我们将看看会产生什么。
我认为我自己和@stockholmux都同意,从当前位置维护和发布所有内容是最好的前进方式——如果我们能够做到的话。 如果不是,我想我们可以考虑替代方案,尽管我不想这样做。
一点建议。 也许您应该考虑将源代码迁移到 TypeScript。
大家好,我已经接任首席维护者,现在拥有所有必需的访问权限 🎉 非常感谢@BridgeAR为他在这个库上所做(和正在做)的所有工作并让我接管。
在过去的几天里,我一直在为 master 的发布做准备,而在几分钟前,我刚刚将 v3.0.0 发布到 NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - 其中包括此更改。
期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新但没有人有能力这样做的先前问题。 我正在解决以下问题;
Sponsor
按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它在那之后,我将把注意力转移到现代化(例如承诺、打字稿)和清除 Node Redis 代码库中的技术债务。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。
@Salakar恭喜! 我想接受承诺的工作(很想放弃async-redis
),但我认为它现在已经完成了。 各位大侠有时间的概念吗? 您是否接受这方面的贡献(例如:我们是否有某种清单)?
嘿@GCSBOSS ,看看“v4”分支——它正在进行中的重构,它有承诺支持,虽然没有 eta / 时间框架,但很抱歉
最有用的评论
大家好,我已经接任首席维护者,现在拥有所有必需的访问权限 🎉 非常感谢@BridgeAR为他在这个库上所做(和正在做)的所有工作并让我接管。
在过去的几天里,我一直在为 master 的发布做准备,而在几分钟前,我刚刚将 v3.0.0 发布到 NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - 其中包括此更改。
期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新但没有人有能力这样做的先前问题。 我正在解决以下问题;
Sponsor
按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它在那之后,我将把注意力转移到现代化(例如承诺、打字稿)和清除 Node Redis 代码库中的技术债务。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。