Node-redis: 路线图

创建于 2016-04-21  ·  17评论  ·  资料来源: NodeRedis/node-redis

编辑: @Salakar :见下面的评论; https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899


这个路线图没有排序,也没有固定的日期,但更多的是一般的混搭。

要实现的主要功能

  • [ ] 簇
  • [ ] 哨兵
  • [ ] 输入变压器
  • [ ] 输出变压器
  • []原生承诺支持
  • []离线队列限制器
  • []更好的脚本支持/添加单独的命令
  • []更好的保持活动功能/改进检测死连接

    其他需要处理的事情

  • [ ] 记录所有代码 (JSDoc)

  • [ ] 将未记录的 API 设为私有
  • [ ] 更新 README 文档以变得更有用
  • [ ] 修复在 appveyor 上生成的窗口
  • [x] 不在生产模式下时更好的堆栈跟踪
  • [ ] 烟雾测试

如果您觉得缺少某些内容,请随时提出进一步的建议/为其打开功能请求。

最有用的评论

大家好,我已经接任首席维护者,现在拥有所有必需的访问权限 🎉 非常感谢@BridgeAR为他在这个库上所做(和正在做)的所有工作并让我接管。

在过去的几天里,我一直在为 master 的发布做准备,而在几分钟前,我刚刚将 v3.0.0 发布到 NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - 其中包括此更改。

期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新但没有人有能力这样做的先前问题。 我正在解决以下问题;

  • [x] 贡献文档和行为准则
  • [x] 设置开放集体和贡献者费用政策

    • 你会注意到 GitHub 顶部闪亮的新Sponsor按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它

  • WIP:发布自动化和语义版本控制(发布到 NPM、生成变更日志等)
  • [x] 改进 CI,例如 Windows CI 现在超级慢且不稳定

在那之后,我将把注意力转移到现代化(例如承诺、打字稿)和清除 Node Redis 代码库中的技术债务。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。

所有17条评论

1085 我们是否支持 NX/XX 标志对 ZADD 等命令的支持

已经几个月了,这方面有更新的时间表吗?

+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 - 但我停了下来,希望能重新开始或帮助巩固;

或许这也是一条路线🤷‍♂

image

@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 - 其中包括此更改。

期待定期发布——我目前的首要任务是让这个项目对贡献者更加友好,以确保项目能够生存并继续发展,并且不会被任何人的时间所阻碍。 为此,我想培养更多的浅贡献者。 有了这个,我希望减轻项目需要更新但没有人有能力这样做的先前问题。 我正在解决以下问题;

  • [x] 贡献文档和行为准则
  • [x] 设置开放集体和贡献者费用政策

    • 你会注意到 GitHub 顶部闪亮的新Sponsor按钮,我自己也继续赞助它,并通过我的公司帮助为任何未来的贡献者启动它

  • WIP:发布自动化和语义版本控制(发布到 NPM、生成变更日志等)
  • [x] 改进 CI,例如 Windows CI 现在超级慢且不稳定

在那之后,我将把注意力转移到现代化(例如承诺、打字稿)和清除 Node Redis 代码库中的技术债务。 @BridgeAR已经为此做了很多工作,如果您好奇,请查看 WIP v4 分支及其变更日志。

@Salakar恭喜! 我想接受承诺的工作(很想放弃async-redis ),但我认为它现在已经完成了。 各位大侠有时间的概念吗? 您是否接受这方面的贡献(例如:我们是否有某种清单)?

@GCSBOSS ,看看“v4”分支——它正在进行中的重构,它有承诺支持,虽然没有 eta / 时间框架,但很抱歉

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

aletorrado picture aletorrado  ·  6评论

lemon707 picture lemon707  ·  3评论

abhaygarg picture abhaygarg  ·  5评论

strumwolf picture strumwolf  ·  4评论

Atala picture Atala  ·  3评论