Node-redis: Fahrplan

Erstellt am 21. Apr. 2016  ·  17Kommentare  ·  Quelle: NodeRedis/node-redis

BEARBEITEN: @Salakar : Siehe Kommentar unten; https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899


Diese Roadmap ist nicht sortiert und hat keine festen Termine, sondern ist eher eine allgemeine Zusammenfassung von Dingen.

Zu implementierende Hauptfunktionen

  • [ ] Cluster
  • [ ] Wächter
  • [ ] Eingangsübertrager
  • [ ] Ausgangsübertrager
  • [ ] Native Versprechungsunterstützung
  • [ ] Offline-Warteschlangenbegrenzer
  • [ ] Bessere Skriptunterstützung / individuelle Befehle hinzufügen
  • [ ] Bessere Keep-Alive-Funktion / Verbesserung der Erkennung toter Verbindungen

    Andere Dinge, die angegangen werden sollten

  • [ ] Dokumentieren Sie den gesamten Code (JSDoc)

  • [ ] Nicht dokumentierte API privat machen
  • [ ] Aktualisieren Sie die README-Dokumentation, um nützlicher zu werden
  • [ ] Windows-Spawn auf Appveyor behoben
  • [x] Bessere Stacktraces außerhalb des Produktionsmodus
  • [ ] Rauchtests

Wenn Sie das Gefühl haben, dass etwas fehlt, können Sie gerne weitere Vorschläge machen / eine Feature-Anfrage dafür eröffnen.

meta

Hilfreichster Kommentar

Hallo zusammen, ich habe die Rolle des leitenden Betreuers übernommen und habe jetzt alle erforderlichen Zugriffe 🎉 Vielen Dank an @BridgeAR für all die Arbeit, die er an dieser Bibliothek geleistet hat (und tut) und dafür, dass er mich übernehmen lässt.

Ich habe die letzten paar Tage damit verbracht, den Master für eine Veröffentlichung vorzubereiten, und vor ein paar Minuten habe ich gerade v3.0.0 für NPM veröffentlicht; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 – was diese Änderung beinhaltet.

Erwarten Sie regelmäßige Veröffentlichungen - meine erste Priorität ist es im Moment, dieses Projekt beitragsfreundlicher zu machen, um sicherzustellen, dass das Projekt lebt und weiter wächst und nicht durch die Zeit einer einzelnen Person blockiert wird. Um dies zu tun, möchte ich eine größere Gruppe von flachen Mitwirkenden anbauen. Damit hoffe ich, das vorherige Problem zu entschärfen, dass das Projekt Updates benötigt, aber es gibt niemanden, der die Macht dazu hat. Ich arbeite folgendes dazu durch;

  • [x] Beitragende Dokumente & Verhaltenskodex
  • [x] Richten Sie eine Offene Kollektiv- und eine Spender- Spesenrichtlinie ein

    • Sie werden den glänzenden neuen Sponsor -Button oben auf GitHub bemerken, ich habe ihn auch selbst und durch mein Unternehmen gesponsert, um ihn für alle zukünftigen Mitwirkenden in Gang zu bringen

  • WIP: Release-Automatisierung und semantische Versionierung (Veröffentlichung in NPM, Generierung von Änderungsprotokollen usw.)
  • [x] CI verbessern, z. B. Windows CI ist momentan super langsam und unzuverlässig

Danach werde ich meine Aufmerksamkeit auf die Modernisierung (z. B. Versprechungen, Typoskript) und die Beseitigung technischer Schulden in der Codebasis von Node Redis lenken. @BridgeAR hat dafür bereits eine Menge Sachen gemacht, wenn Sie neugierig sind, sehen Sie sich den WIP v4-Zweig und sein Änderungsprotokoll an.

Alle 17 Kommentare

1085 Haben wir Unterstützung für NX/XX-Flag-Unterstützung für Befehle wie ZADD

Es ist ein paar Monate her, gibt es diesbezüglich einen aktualisierten Zeitplan?

+1

Gibt es bald Unterstützung für Cluster/Sharding? AWS hat Redis-Cluster-Unterstützung auf ElastiCache und ich würde es gerne verwenden, aber diese Bibliothek muss diesen Funktionsumfang einholen, damit das wirklich funktioniert :(

Dieses Problem sollte meiner Meinung nach gepinnt werden

Auch https://github.com/gosquared/redis-clustr könnte eine ausreichend gute Lösung für die Cluster-Unterstützung sein?

Ein gleichwertiger Wrapper für Sentinel wäre großartig. Vielleicht https://www.npmjs.com/package/redis-sentinel , scheint aber irgendwie tot zu sein (4 Jahre seit der letzten Veröffentlichung).

Vielleicht sollten wir hier über die Zukunft dieses Repositoriums diskutieren; die letzte Veröffentlichung dieses Pakets in NPM war vor über 2 Jahren, es gibt Fixes auf Master, die seit fast 2 Jahren nicht mehr in NPM veröffentlicht wurden, z. B. https://github.com/NodeRedis/node_redis/issues/1331;

Beachten Sie, dass ich mich nicht über @BridgeAR beschwere, er macht tatsächlich einen großartigen Job drüben in

Ich bin bereit, einen Teil der Wartungslast zu übernehmen, aber ich hätte gerne einige Gedanken darüber, welche Vorgehensweise wir dafür ergreifen könnten, da der NPM-Veröffentlichungszugriff für das vorhandene Repository nicht verfügbar ist (habe ihn im Laufe der Jahre mehrmals angefordert). .

Im Moment scheint es, als ob die einzige Möglichkeit darin besteht, zu forken und neu zu beginnen, es sei denn, wir erhalten Zugriff.

@Salakar Ich bin auch bereit zu helfen, dieses Paket voranzubringen. Ich bin mir nicht ganz sicher, warum wir den NPM-Paketnamen aufgeben müssen („redis“ ist mächtig). Kontrolliert @BridgeAR das NPM-Paket nicht und muss es an jemanden übertragen werden? Seit vielen Monaten hat sich wenig getan, und ehrlich gesagt verstehe ich die Logik nicht ganz, einfach darauf zu sitzen.

Ich denke nicht, dass wir dieses Paket verwerfen sollten - es ist eine gute Codebasis, die auf den neuesten Stand gebracht werden kann und von der eine große Anzahl anderer Pakete abhängen.

Die andere Sache, die ich an die Oberfläche bringen möchte, sind die bevorstehenden RESP3 / Redis 6-Änderungen, die erhebliche Änderungen erfordern werden. Ich habe mir die ACL-Funktion in Redis 6 angesehen, die einfach zu unterstützen sein sollte, aber wir brauchen ernsthaftes Refactoring für node_redis. Mein Job (bei Redis Labs) würde meine Arbeit an diesem Modul unterstützen, aber wenn wir kein NPM-Release machen können, macht es keinen Sinn, die Zeit zu investieren.

Kontrolliert @BridgeAR das NPM-Paket nicht und muss es an jemanden übertragen werden? Seit vielen Monaten hat sich wenig getan, und ehrlich gesagt verstehe ich die Logik nicht ganz, einfach darauf zu sitzen.

Richtig, aber ich beantrage NPM-Veröffentlichungszugriff seit Februar 2018, erneut im Februar 2019, und die letzte Anfrage im September 2019. Ich habe Antworten erhalten, aber nicht zum Thema NPM-Veröffentlichungszugriff beantragen 🤷‍♂. https://github.com/NodeRedis/node_redis/issues/1402#issuecomment -490273744 gibt vielleicht einen Hinweis auf Absichten?

Wenn der Transfer nicht stattfinden wird, muss das meiner Meinung nach klargestellt werden, damit wir weitermachen können.

ioredis zum Beispiel ist wirklich nett, und es gab damals Gespräche über die Konsolidierung der Bibliotheken (ich habe an einigen der zugrunde liegenden Tools dafür gearbeitet, wie dem neuen Parser, denque lib, Cluster Key Slot Calc usw.): https:// github.com/NodeRedis/node_redis#consolidation -its-time-for-celebration - was meiner Meinung nach das langfristige Ziel sein sollte?

Off Topic, aber ich habe vor einiger Zeit angefangen, mit dem Aufbau eines neuen Clients zu experimentieren; https://twitter.com/mikediarmid/status/1074240036936318976 - aber ich habe damit aufgehört, in der Hoffnung, dass es wieder losgeht oder zur Konsolidierung beiträgt;

Vielleicht ist das auch eine Route 🤷‍♂

image

@Salakar hast du mit einem der anderen NPM-Besitzer (Matt, Ben oder Bryce) gesprochen? Wenn Ruben MIA ist, dann denke ich nicht, dass eine einzelne Person ein Hindernis sein sollte, wenn wir wollen, dass das Projekt voranschreitet. Diese Art von Problem ist der Grund, warum es so eingerichtet wurde, nehme ich an. Ich finde den Kommentar zu 1402 beunruhigend für ein Open-Source-Projekt, insbesondere eines, das (organisatorisch) nicht an eine einzelne Person gebunden ist.

Ich stimme zu, ioredis ist gut, aber ich glaube nicht, dass es eine Einheitslösung ist. Was die Konsolidierung betrifft, dachte ich, dass der vereinheitlichte Parser das Hauptziel ist, das bereits erreicht wurde. Ich hätte nie gedacht, dass es nur ein einziges Modul geben würde, nur angesichts der Syntaxunterschiede.

@stockholmux : Mein Job (bei Redis Labs) würde meine Arbeit an diesem Modul unterstützen, aber wenn wir kein NPM-Release machen können, macht es keinen Sinn, die Zeit zu investieren.

Dito auch, wir sind bereit, auch dafür Ressourcen bereitzustellen @invertase , aber wenn wir es nicht veröffentlichen können, macht es auch keinen Sinn für uns.


@stockholmux : @Salakar hast du mit einem der anderen NPM-Eigentümer (Matt, Ben oder Bryce) gesprochen?

Das ist ein guter Punkt, habe ich nicht, ich werde mich in Kürze an sie wenden.


@stockholmux : Ich stimme zu, Ioredis ist gut, aber ich glaube nicht, dass es eine Einheitslösung ist. Was die Konsolidierung betrifft, dachte ich, dass der vereinheitlichte Parser das Hauptziel ist, das bereits erreicht wurde. Ich hätte nie gedacht, dass es nur ein einziges Modul geben würde, nur angesichts der Syntaxunterschiede.

Aus Interesse, was sind Ihre Anforderungen, die die redis Bibliothek erfüllt, aber ioredis nicht? Meine Anforderungen betrafen Clustering und Sentinel, die redis derzeit nicht unterstützt, außer einigen Paketen von Drittanbietern, von denen einige ebenfalls aufgegeben wurden.

Vielleicht könnten die zugrunde liegenden Verbindungsprotokolle zwischen den beiden Bibliotheken auch gemeinsam genutzt werden, dann ist es nur die Art und Weise, wie Sie sich mit jeder Schnittstelle verbinden, die unterschiedlich ist?

@Salakar Ich mag den modularen Ansatz für Sentinel und Clustering gegenüber dem monolithischen Ansatz von Ioredis (auch hier müssen wir uns mit Abandonware befassen). Manche Leute brauchen das, andere nicht. Das gesamte Redis-Ökosystem wird immer größer und modular ist der Weg, mehr ohne Komplexität zu unterstützen, IMHO. Ioredis ist eine viel größere Codebasis (18.897 vs. 7.038 Codezeilen), was mehr Funktionen sein mag, aber ich möchte lieber nicht so viel zusätzliches Zeug haben, das ich nicht verwende.

Der Punkt, an dem node_redis meiner Meinung nach einen großen Vorteil hat, ist die Unterstützung von Redis-Modulen, die mit node_redis einfach und mit ioredis eher mühsam ist.

Ich habe mich über Twitter-DMs an @mranney gewandt und gefragt, ob er sowohl mir als auch dem Besitzer von @stockholmux Zugriff auf die GitHub-Organisation und die NPM-Pakete gewähren könnte, also werden wir sehen, was daraus wird.

Ich denke, ich und @stockholmux stimmen darin überein, dass es der beste Weg ist, alles von dort aus zu pflegen und zu veröffentlichen, wo sie sich gerade befinden - sollten wir dazu in der Lage sein. Wenn nicht, denke ich, können wir nach Alternativen suchen, obwohl ich es lieber nicht möchte.

Ein kleiner Vorschlag. Vielleicht sollten Sie erwägen, den Quellcode auf TypeScript zu migrieren.

Hallo zusammen, ich habe die Rolle des leitenden Betreuers übernommen und habe jetzt alle erforderlichen Zugriffe 🎉 Vielen Dank an @BridgeAR für all die Arbeit, die er an dieser Bibliothek geleistet hat (und tut) und dafür, dass er mich übernehmen lässt.

Ich habe die letzten paar Tage damit verbracht, den Master für eine Veröffentlichung vorzubereiten, und vor ein paar Minuten habe ich gerade v3.0.0 für NPM veröffentlicht; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 – was diese Änderung beinhaltet.

Erwarten Sie regelmäßige Veröffentlichungen - meine erste Priorität ist es im Moment, dieses Projekt beitragsfreundlicher zu machen, um sicherzustellen, dass das Projekt lebt und weiter wächst und nicht durch die Zeit einer einzelnen Person blockiert wird. Um dies zu tun, möchte ich eine größere Gruppe von flachen Mitwirkenden anbauen. Damit hoffe ich, das vorherige Problem zu entschärfen, dass das Projekt Updates benötigt, aber es gibt niemanden, der die Macht dazu hat. Ich arbeite folgendes dazu durch;

  • [x] Beitragende Dokumente & Verhaltenskodex
  • [x] Richten Sie eine Offene Kollektiv- und eine Spender- Spesenrichtlinie ein

    • Sie werden den glänzenden neuen Sponsor -Button oben auf GitHub bemerken, ich habe ihn auch selbst und durch mein Unternehmen gesponsert, um ihn für alle zukünftigen Mitwirkenden in Gang zu bringen

  • WIP: Release-Automatisierung und semantische Versionierung (Veröffentlichung in NPM, Generierung von Änderungsprotokollen usw.)
  • [x] CI verbessern, z. B. Windows CI ist momentan super langsam und unzuverlässig

Danach werde ich meine Aufmerksamkeit auf die Modernisierung (z. B. Versprechungen, Typoskript) und die Beseitigung technischer Schulden in der Codebasis von Node Redis lenken. @BridgeAR hat dafür bereits eine Menge Sachen gemacht, wenn Sie neugierig sind, sehen Sie sich den WIP v4-Zweig und sein Änderungsprotokoll an.

@Salakar Herzlichen Glückwunsch! Ich wollte den Versprechen-Job übernehmen (würde gerne async-redis lassen), aber ich nehme an, dass es inzwischen größtenteils erledigt ist. Habt ihr eine Vorstellung von einem Zeitrahmen? Akzeptieren Sie Beiträge an dieser Front (z. B.: Haben wir eine Art Checkliste)?

Hey @GCSBOSS , schau dir den 'v4'-Zweig an - es ist der in Arbeit befindliche Refactor, der versprochene Unterstützung bietet, aber noch kein Eta / Zeitrahmen, tut mir leid

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen