Redis: Ersetzen Sie die Begriffe "Master" und "Slave" in Redis

Erstellt am 21. Apr. 2016  ·  59Kommentare  ·  Quelle: redis/redis

Inspiriert von django/django/pull/2692 sollte Redis seine "Master"- und "Slave"-Terminologie ersetzen.

Die Zusammenfassung lautet: master und slave haben rassische Bedeutungen (insbesondere in Nordamerika, aber auch allgemeiner) und es wäre gut, sie zu vermeiden. Django ging für primary und replica . Ich bin mir nicht sicher, was für Redis am sinnvollsten ist.

Bemerkenswert ist, dass CouchDB eine ähnliche Änderung vorgenommen hat . Ebenso wie Drupal .

Hilfreichster Kommentar

TLDR:

  1. Wenn ich Redis von Grund auf neu starten würde, würde ich eine andere Terminologie wählen.
  2. Jetzt zu wechseln wäre zu verwirrend: Änderung von API, Dokumentation und so weiter. Wir haben eine lange Tradition der Abwärtskompatibilität bis zu dem Punkt, an dem Sie Redis 3.2 ausführen können, eine Anwendung, die für die erste Redis-Beta geschrieben wurde, die vor 7 Jahren veröffentlicht wurde.
  3. Redis hat einen SALVEOF NO ONE Befehl, der absichtlich als Freiheitsbotschaft entwickelt wurde.

Also lasse ich es so wie es ist.

Alle 59 Kommentare

Ich habe primary und secondary schon einmal gesehen, aber replica eher der Funktion der Knoten.

@philcryer das dachte ich auch, dh "Replikation" zu "Repliken".

Ich habe auch leader und follower bei einigen Projekten gesehen

Bitte lassen Sie Redis und die gesamte IT in Ruhe. DNS verwendet von Anfang an eine Master-Slave-Terminologie, daher sollte das Internet geschlossen werden und die Menschheit wird immer noch Steine ​​​​zum Feuermachen verwenden.

gru und minion

+1 für Primär/Replikat

Am Donnerstag, 21. April 2016, Scott M. Sanders [email protected]
schrieb:

grus und minion


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/antirez/redis/issues/3185#issuecomment -213086984

+1 für Gru und Minion.

Diese Probleme mit der Namensgebung sind Witze, warum also nicht lustige Namen verwenden.

origin und clone

Kommentare inline:

_Die Zusammenfassung ist: Meister und Sklave haben rassische Bedeutungen (besonders im Norden)
Amerika, aber auch allgemeiner)_

Die meisten Wörter haben eine Fülle von Bedeutungen, DU (der Leser) bist derjenige, der
beschließt, den dynamischen Beschreibungsbegriff eines Systems als rassische Sache zu betrachten, also
vielleicht solltest du es einfach nicht tun.

_und es wäre gut, sie zu vermeiden._

Wieso den?

_Ich bin mir nicht sicher, was für Redis am sinnvollsten ist._

Um es so zu lassen, wie es ist. Die Beweislast dafür, dass diese besondere Benennung
Schema führt dazu, dass überempfindliche Menschen Krampfanfälle bekommen, wenn Redis eingeschaltet ist
Sie. Ebenso wie jeder wahrgenommene Nutzen, der daraus gezogen werden kann, ihn zu ändern.

_Bemerkenswert, CouchDB hat eine ähnliche Änderung vorgenommen
https://issues.apache.org/jira/browse/COUCHDB-2248. Wie Drupal
https://www.drupal.org/node/2275877._

Das ist trügerisch, es ist mir egal, was andere Leute tun, es ist kein
Argument für etwas Bestimmtes.

Dies wurde bereits zuvor erwähnt und wurde zu Recht geschlossen. Es
braucht einen ganz besonderen Menschen, um sich zur Sprachpolizei zu ernennen
und versuchen, allen anderen seine eigene "Korrektheit" aufzuschieben.

[Bearbeiten: Formatierung]

TLDR:

  1. Wenn ich Redis von Grund auf neu starten würde, würde ich eine andere Terminologie wählen.
  2. Jetzt zu wechseln wäre zu verwirrend: Änderung von API, Dokumentation und so weiter. Wir haben eine lange Tradition der Abwärtskompatibilität bis zu dem Punkt, an dem Sie Redis 3.2 ausführen können, eine Anwendung, die für die erste Redis-Beta geschrieben wurde, die vor 7 Jahren veröffentlicht wurde.
  3. Redis hat einen SALVEOF NO ONE Befehl, der absichtlich als Freiheitsbotschaft entwickelt wurde.

Also lasse ich es so wie es ist.

Sklave von niemandem gewonnen! :)
Redis ist nicht nur als In-Memory-Datenbank großartig.

Ein weiterer Klassiker für die Bücher.

Scheint, als hätte niemand an SLAVEOF NO ONE gedacht!
Fantastisch. Hey Antirez du machst meinen Tag!

Ich wurde endlos oft auf Twitter darüber gepingt :-) Leute, die neu bei Redis sind, wenn sie den Befehl zum ersten Mal lesen, verstehen normalerweise, dass dort etwas vor sich geht ...

Ich habe eine Anti-Sklaverei-Nachricht auf der SLAVEOF Handbuchseite hinzugefügt: http://redis.io/commands/SLAVEOF

Es ist kein Problem, wenn es einvernehmlicher Knick ist.

IMO dominant und unterwürfig ist die politisch korrekte Terminologie, da
es ist in der Tat einvernehmlich und bringt das sanftere Geschlecht ins richtige
Platz.

Übrigens ist heute Pessach, bei dem es darum geht, dass die Hebräer SKLAVEN NO . werden
ONE, also sollten vielleicht Pharao und Moses in Betracht gezogen werden, wenn Redis das nächste Mal ist
gebaut.

Am Freitag, 22. April 2016 um 14:48 Uhr, TheCheapestPixels < [email protected]

schrieb:

Es ist kein Problem, wenn es einvernehmlicher Knick ist.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/antirez/redis/issues/3185#issuecomment -213390708

_Itamar Haber_ | Chefentwickler-Befürworter
_Redis Watch_ Newsletter http://redislabs.com/redis-watch-archive |
&&(kurat||bearbeiten||janit||)
_Redis http://www.redislabs.com/_Labs http://www.redislabs.com/ | ~ von
Redis

Handy: +972 (54) 567 9692
E-Mail: [email protected]
Twitter: @itamarhaber https://twitter.com/itamarhaber
Skype: itamar.haber

Blog http://redislabs.com/blog/ | Twitter
https://twitter.com/redislabs | LinkedIn
https://www.linkedin.com/company/redis-labs-inc

[Bild: #RedisConf] http://redisconference.com/

@antirez könnte die Änderung nicht durchgeführt werden, so dass beispielsweise "

Ich bin mir nicht sicher, ob SLAVEOF NO ONE das Problem wirklich behebt.

Das ist wirklich dumm.

"Ich bin mir nicht sicher, ob SLAVEOF NO ONE das Problem wirklich behebt." - okay WAS PROBLEM?

Es sind Slave/Master, die sehr gut etablierte Begriffe für "das Ding, das den Datenbus steuert" oder "das Stück Software, das diktiert, was die anderen tun und die Dinge und die anderen, die gehorchen" koordiniert, sind.

Wenn es "Massah" und "N!gger" wäre, würde ich dir voll und ganz zustimmen.

Du machst ein Problem, wo es keins gibt.

Wie auch immer, an die Leute, die die Entscheidung treffen würden:

Sollten die Tumblirites hierher strömen und den Anschein erwecken, dass die Bevölkerung eine Änderung dieser Begriffe befürwortet, denken Sie bitte daran, dass dies keine repräsentative Stichprobe ist.

Unterbrechen Sie nicht die API, unterbrechen Sie keine Skripte, die die Wörter möglicherweise verwenden, und erstellen Sie keine Synonyme.

@nslater die Verwendung einer anderen Terminologie im Code, in der INFO-Ausgabe und in der API im Vergleich zu der in der Dokumentation verwendeten, ist meiner Meinung nach keine gute Vorgehensweise. Außerdem glaube ich, dass es ist, die Terminologie beizubehalten, aber die Leute darauf aufmerksam zu machen, wie ich es auf der Handbuchseite von SLAVEOF getan habe und wie ich es in anderen Teilen der Redis-Dokumentation (der Hauptseite der Replikation) tun werde eine sehr interessante Alternative zum Verbot einzelner Wörter. Menschen, die sich der Geschichte bewusst sind, haben eine viel stärkere Abwehrkraft davor, in Zukunft dieselben Fehler zu machen, wie die schreckliche Sache der Sklaverei.

  1. Den Menschen bewusst zu machen, dass die von Redis verwendete Terminologie nichts mit menschlicher Sklaverei zu tun hat.
  2. Um zu versuchen, die Leute dazu zu bringen, zu lesen, worum es bei der Sklaverei ging, wie schrecklich sie war und dass wir den gleichen Fehler nicht noch einmal machen sollten.
  3. Zu zeigen, dass es einen anderen Weg im Vergleich zum Verbot von Wörtern gibt, ist IMHO meistens eine formelle Sache und ist der Weg, um zu wissen, was passiert ist.

Ich selbst habe versucht, meine eigenen Standards zu verbessern. Ich bin entschieden gegen die Todesstrafe. Ich halte die Todesstrafe für eines der schrecklichsten Dinge, die die Menschheit derzeit tut, deshalb weigerte ich mich mehrere Jahre lang, in Länder zu reisen, in denen die Todesstrafe verhängt wird, einschließlich der Vereinigten Staaten. Ich kann versuchen, die Leute dazu zu bringen, den Unix-Befehl kill ändern, aber ich glaube, ein effektiverer Weg (viel mehr, den Befehl kill zu verbieten ist einfach nutzlos) besteht darin, die Europäische Union und andere zu unterstützen politische Akteure, die versuchen, die Todesstrafe aus der Welt zu verbannen. Also fing ich wieder an, in die USA zu reisen, da es nur eine formelle Sache war, aber auch um aktiver und offener Anti-Todesstrafen-Bewegungen und politische Akteure zu unterstützen. Ähnliches möchte ich hier mit _slaves_ und _masters_ machen.

Ich denke, Differenzierung sollte als "Transintegration" bezeichnet werden.

Sklaverei gehört nicht der Vergangenheit an. Es existiert in vielen Formen weiter, darunter nicht zuletzt der Gefängnis-Industriekomplex. "Sklave" als Metapher (und seine Verwendung in Redis etc.) ist davon nicht zu trennen. Tatsächlich hängt ihre Funktion _als_ Metapher davon ab.

Ich schlage nicht vor, dass Sie das Wort verbieten. Ich schlage vor, dass Sie es ablehnen. Dies ist eine ziemlich gängige Praxis in der Softwarewelt, da sich APIs ändern, aber die Abwärtskompatibilität aufrechterhalten werden muss. Die Dokumente können einfach erwähnen, dass es einen abgewerteten Begriff gibt, der immer noch für alten Code funktioniert.

Auch hier möchte ich durch die Verwendung dieses Begriffs in Redis und durch das Verlinken auf externe Seiten die Gelegenheit nutzen, daran zu erinnern, dass wir alle Sklaven sind. Sklaven der Geschäfte, der Lebensmittelwerbung, des Industriekomplexes, der politisch korrekten Regeln und so weiter. Fühlen Sie sich frei, dasselbe Problem in anderen Softwareprojekten auf unterschiedliche Weise anzugehen, aber für Redis möchte ich so vorgehen, wie ich sagte.

Aber warum ablehnen? Was ist daran eigentlich falsch?

Wurde ein Typ gefunden, der meinte: "Ich habe den Jumper auf einer alten IDE-Festplatte von Kabelauswahl auf Master/Slave geändert, wegen irgendeiner dummen Motherboard-Sache und plötzlich wurde mir klar, dass Sklaverei in Ordnung ist und einige Kinder entführte" - oh nein, denk an die Kinder!

Wie können Sie es auch wagen, die Sklaverei, die _Versklavung_ von _unschuldigen_ Menschen, mit den Bestrafungen zu vergleichen, die die Gesellschaft für _verurteilte Kriminelle_ verhängt.

Du machst mich krank.


@antirez pass auf was du hier sagst, alles was du

@ JustSomeGuy83 wie ich schon sagte, das ist IMHO eine rein formale Sache. Sie können das nicht verstehen, ohne es in die Perspektive der politisch korrekten Bewegung der USA zu stellen. Aber IMHO ist es ein extrem ineffektiver Weg, die Gesellschaft zu verbessern. Angenommen, ein Softwareprojekt sollte das Recht haben, Menschen auf Menschenrechte aufmerksam zu machen, selbst wenn 0,00001 % der Menschen, die Redis doc lesen, dem Link zum Wikipedia-Artikel zu Sklaverei folgen, erreiche ich ein viel höheres Ziel als die formale Sache, Worte abzuwerten. Leider geht es bei politisch korrekten Bewegungen viel um die Formalität und sehr wenig um die Substanz.

@antirez es ist sehr unsensibel und ignorant zu

Direkt auf "Schwester"

@nslater Du hast gerade das Abzeichen "Erst, der andere in einem politisch korrekten Thread beleidigt" verdient.

@antirez bitte sei vorsichtig (siehe oben) https://twitter.com/nslater unterschätze nicht einen vernetzten Verrückten.

Ich versuche nur das zu tun, was ich für richtig halte ... aber danke für den Rat. @nslater hat eine Änderung vorgeschlagen. Ich stimme nicht zu, aber ich mag die Idee, ein beliebtes OSS-Projekt zu nutzen, um Menschen über Menschenrechte und verwandte Dinge zu informieren, also habe ich einige Änderungen vorgenommen. Wenn @nslater mit dem, was ich getan habe, nicht zufrieden ist, tut es mir leid, aber ich werde nicht gehorchen, was sie hier sagt, nur weil ich ...

@antirez ja das kann auch nach hinten

Sie sind ICANN, sie sollten das tun, was sie tun, und nichts anderes. Das waren nur Sitzungsprotokolle.

Ich kann mir vorstellen, dass ich Dokumente verwende, um _jede_ Agenda zu bewerben/dazu führen, dass sie schlecht wird.

Sie antworteten mit "nein, hier ist warum [alte API-Breaking-Gründe]" und machten klar, dass Sie sich selbst nicht danach sehnen, sich eines Tages auf eine Zuckerplantage oder eine Diamantenmine zurückzuziehen, die von versklavten Afrikanern umgeben ist. Mehr brauchen Sie nicht zu sagen.

Übrigens, gibt es auf GitHub eine private Nachricht? Ich würde gerne wissen, ob Redis irgendeine Art von Transaktionsunterstützung hat. (Über http://redis.io/topics/transactions hinaus)

Ich glaube nicht, dass es in Github private Nachrichten gibt, aber ja, wir haben eine Art _transaktionales Konstrukt_, das keine Transaktion im *SQL-Stil ist, sondern ähnlich: http://redis.io/topics/transactions

Der Sinn der Terminologieänderung besteht nicht darin, dass sich _Ihr_ Jungs gut oder schlecht fühlen, sondern dass Sie Menschen willkommen heißen und offen sind, deren Weltanschauung in Bezug auf die Sklaverei völlig anders ist als Ihre. Sklaverei und Diskriminierung gibt es auch heute noch in der realen Welt. Sie entmutigen eine zukünftige Gruppe von Programmierern aktiv, indem Sie dies so belassen, wie es ist.

Noah versucht nur, positive Veränderungen zu fördern. Lassen Sie uns für einmal Positivität fördern.

Wenn überhaupt, ist die Dokumentationsqualität ein Argument dafür, sich von der eher metaphorischen Master/Slave-Terminologie hin zu etwas Beschreibenderem zu bewegen. Wir befinden uns in einer Branche, in der die Bedeutung der Benennung seit langem erkannt wird (dies ist das andere schwierige Problem neben der Cache-Invalidierung). Replica spiegelt tatsächlich das wider, worüber wir sprechen (es befindet sich direkt in der URL http://redis.io/topics/replication).

[Kommentar von @antirez entfernt, da er zu viele Verstöße enthält]

(war eine Beobachtung über die 3 weißen Jungs, die sich einmischen)

@antirez bezüglich des letzten Kommentars, werden Sie diese Art von Verhalten zulassen?

@nslater nein ich mag keine Beleidigungen. Da ich auch keine Zensur mag, werde ich nur in Ihrem Namen handeln, wenn Sie möchten, dass der Kommentar entfernt wird. Bitte schreiben Sie einen Kommentar mit "Ja, ich möchte, dass der Kommentar entfernt wird, da er mich beleidigt" und ich werde ihn in Ihrem Namen entfernen, da Zensur für mich unangemessen ist.

Kannst du das Thema nicht einfach "abschließen"?

Es geht nicht darum, dass ich beleidigt bin oder nicht. Den Kommentar finde ich natürlich verwerflich. Stattdessen geht es um die Art von Community, die Redis aufbaut, wer hier willkommen ist und ob ein solches Verhalten toleriert oder aktiv bekämpft wird. Vielleicht nicht für mich (da ich keine unmittelbaren Pläne habe, weitere Beiträge zu leisten), aber für andere, die dies sehen werden.

@JustSomeGuy83 Ich halte dies für eine öffentliche Debatte, daher scheint es unangebracht, dies zu beenden, auch wenn ich denke, dass die Wahrscheinlichkeit, dass hier gute Dinge passieren, äußerst gering ist.

@nslater- Leute werden sehen, dass Sie mich hier als ignorant bezeichnet haben und dass @JustSomeGuy83 Sie beleidigt hat, aber ich hoffe, die meisten werden erkennen, dass dies in der Redis-Community bei normalen Problemen normalerweise nicht der wurdest von Dingen hauptsächlich Dramen erzeugt, besonders wenn man versucht, gezwungen zu werden, wie Sie es in meinem tun Meinung, nachdem der Betreuer des Projekts seinen Standpunkt darlegte.

Ich werde es etwas zurücknehmen. Ich bin hierher gekommen, um Unterstützung zu zeigen und Löcher in Argumente (oder Fälle, wenn Sie es vorziehen) zu bohren, um dumme Dinge zu tun. Daran halte ich mich besser.

@nslater - netter Versuch. Der Versuch, jemanden unter Druck zu setzen, zu denken: "Wenn Sie es nicht entfernen, muss es auch Ihre Ansicht sein". Nette FUD-Taktiken von dem Typen von der Apache Foundation da drüben. Haben Sie ein _ernstes_ Argument (oder Fall, wenn dieses Wort zu stark ist)?

@antirez Ich sagte, deine Kommentare seien ignorant, nicht du. Welche sie sind. Es ist eine sachliche Beschreibung und eine, die Sie hoffentlich dazu anregt, darüber nachzudenken, wie und warum Ihre Argumentation fehlerhaft ist. Die Kommentare von @ JustSomeGuy83 sind nicht konstruktiv. Sie sind absichtlich darauf ausgelegt, mich zu verletzen und mir das Gefühl zu geben, hier nicht willkommen zu sein. Ich hoffe, Sie können den Unterschied erkennen.

Zukünftige potenzielle Mitwirkende werden sehen, dass Sie Hassreden gegen Transfrauen tolerieren. Auch wenn dies ein gewöhnlicher Thread ist, sendet das eine ziemlich klare Botschaft.

Ich versuche nichts zu erzwingen. Ich habe ein Ticket erstellt, das eine Änderung vorschlägt. Sie haben geantwortet, dass Rückwärtskompatibilität wichtig ist, und ich habe darauf hingewiesen, dass andere Projekte mit der Einstellung gut zurechtkommen.

@antirez Ich denke, dass Ihre Antwort die vernünftigste Argumentation ist, die ich in diesem Thread gesehen habe. Ich denke, dass die Divergenz zwischen API und Dokumentation in der Tat ein sehr guter Grund ist, eine solche Änderung nicht vorzunehmen, da dies zu Problemen bei der Schulung der Benutzer im Umgang mit dem Produkt führen würde.

Ich denke aber nach wie vor, dass im Hinblick auf eine neue Hauptversion oder ähnliches in Zukunft an einer Änderung der Terminologie gearbeitet werden könnte. Dokumentation und Quellcode konnten sich in beiden Fällen mit einem Sprung ändern.

Ich schätze auch Ihre Haltung, die Diskussion offen zu halten.

@nslater Ich habe beschlossen, den Kommentar zu entfernen, den @JustSomeGuy83 geschrieben hat.

@nicatronTg danke Ich denke, das ist vernünftig, in Disque habe ich speziell die Master / Slave-Terminologie vermieden und ich werde mit all den neuen Dingen arbeiten, die ich bauen werde. Hier nach 7 Jahren ist es sehr aufwendig, dieses Zeug zu ändern.

@nslater btw, nur als Person-zu-Person-Sache, wenn Sie etwas sagen, was ich sage, ist "XYZ", sagen Sie, dass ich ein "XYZ-Sager" bin, das heißt, ich bin "XYZ" mehr oder weniger. Ich denke, wir sollten alle versuchen, ein bisschen freundlicher zueinander zu sein, sonst ist es nur eine formelle Sache.

@nslater https://twitter.com/nslater <--- hier behauptest du, ich hätte dich geoutet, da ist ein Bild von einem Kerl mit Bart und darunter steht "benutzt sie / sie" oder was auch immer. Ich habe Sie nicht aussortiert, ich habe mir die Mühe gemacht, Ihr bevorzugtes Pronomen zu lesen und es in gutem Glauben zu verwenden.

Es ist nicht wirklich Hassrede, habe ich irgendwo gesagt "Ich hasse ...."?

Nun, Sie erwähnten, dass andere Projekte umgestellt wurden, einige Dinge sind einfacher zu aktualisieren als andere, Makefiles und Bashscripts haben sich nicht geändert wie immer. C/C++ - alte Programme können _mehr oder weniger_ unverändert ausgeführt werden.

Es ist wirklich wichtig, _eine Datenbank_ nicht zu zerstören. Ein Projekt, an dem ich arbeite, verwendet immer noch MySQL 5.1 und wir haben Probleme mit späteren Versionen. Ich würde mich wirklich ärgern, wenn ich ALLES aktualisieren müsste, um eine neuere MySQL-Version zu verwenden. (MariaDB (die ich bevorzuge) erkannte dies und die Bedeutung, ein _Drop in Replacement_ zu sein - dh nichts kaputt zu machen)

(Welcher Kommentar von mir wurde entfernt?)

@ JustSomeGuy83 der, bei dem es "Idiot" und ähnliches gab.

Also Jungs/Mädels/was auch immer, wenn ihr hier weitermachen wollt:

10 NICHT ANDERE BESCHÄDIGEN

20 SAGEN SIE, WAS SIE DENKEN

30 GOTO 10

Dies ist ziemlich BASIC zu folgen.

Ich kann mich nicht erinnern, was in dieser Nachricht stand... war da etwas Wesentliches?

Diejenige, in der Sie einen Vergewaltigungswitz gemacht und eine Transperson als "er / sie" bezeichnet haben, @JustSomeGuy83. Hör einfach auf. Gehen Sie von Ihrer Tastatur weg. Sie tragen in keiner Weise positiv dazu bei.

@JustSomeGuy83 Ich habe eine Kopie gespeichert, wenn Sie sie ohne die problematischen Teile neu

Ich habe keinen Vergewaltigungswitz gemacht, in der ersten Version (in der ich diesen Teil etwa 20 Sekunden später entfernte) sagte ich, ich hätte Angst, mich zu identifizieren, weil ich 2 Tage Mist von _Leute bekommen würde, die behaupteten, es sei eine Form von Vergewaltigung_ . Das ist kein Witz. Außerdem habe ich diese Leute unter anderem "Wolfkin" genannt und mich nicht auf die Frau/Noah bezogen, wie Sie behaupten.

Aber ich wurde vom bösen Projektbesitzer zensiert! Gahh! Lol.

Bearbeiten: nvm, https://twitter.com/nslater es wird hier aufbewahrt.

RE: twitter, steht dort auch, und dein Twitter-Account ist von GitHub verlinkt. Ich sehe immer noch nicht, wie ich dich "geoutet" habe.

Okay, ich habe das Gefühl, dass ich das Gleichgewicht in die Convo gebracht habe: P Ich möchte @antirez entschuldigen, seit ich über Redis gelesen habe, dass es tatsächlich ein viel größeres Projekt ist, als ich angenommen hatte, und es ist unwahrscheinlich, dass Sie ohne "eingebrochen" wären mein "Eingreifen".

Es tut mir leid für meine seltsame Art der Unterstützung, wo sie nicht gebraucht wurde. Ich hatte noch nie von Redis gehört und ging einfach davon aus, dass ein armer Entwickler auf Github einige Tage unter dem Zorn von Tumblr im Rampenlicht leiden würde.

Zweitens ist die Idee wirklich sehr interessant, Key-Value-Stores sind weit verbreitet, sodass ich die Vorteile eines Stores davon sehen kann. Ich würde mich über Fallstudien zu Dingen freuen, in denen Redis gut ist und wo ein klassischer SQL-Server Joins, Views, Indizes und Tabellen würden einfach nicht ausreichen.

Schließlich ist das Fehlen von Transaktionen ein "Deal Breaker" für viele Dinge, die ich gedacht hätte, da Sie nichts tun können, was von Daten abhängt, die Sie zuvor gelesen haben. Wenn Sie jedoch eine _atomare_ Operation "Vergleichen und Austauschen" implementieren würden, könnte sie vom Benutzer implementiert werden (nicht großartig, als ob sie einen Fehler machen, wird es eine Schlampe sein, zu debuggen, aber machbar).

Vergleichen und austauschen funktioniert so. Sie sehen sich einen Wert an, und wenn er gleich 0 ist, tauschen Sie ihn gegen einen bestimmten Wert aus. Es ist ein Sperrprimitiv.

Wenn der Wert 0 ist und Sie erfolgreich vergleichen und austauschen, ist der Wert jetzt 1 und 0 wird zurückgegeben, was anzeigt, dass wir die Sperre erhalten haben.

Wenn der Wert 1 ist und Sie vergleichen und austauschen, wird 1 zurückgegeben, da der Wert nicht = 0 ist, sodass der Tausch nie stattfindet.

Mit diesem primitiven Sperren kann dann alles gemacht werden und alles ist fast gut.

Eine leicht zu übersehende Deadlock-Situation besteht darin, eine Lesesperre zu erwerben und dann in die Daten zu schreiben, etwas anderes kann auch eine Lesesperre ergriffen haben, daher können Sie nicht schreiben, wenn das andere Ding mit einer Lesesperre dann versucht zu schreiben, du hast eine Sackgasse.

Um dies zu beheben, gelten die üblichen Codepraktiken, es ist jedoch schwierig, Abfragen zu überprüfen .... Ich verlasse mich entweder darauf, dass RAII oder der Server eine Transaktion in dieser Situation mit einem Fehler abbricht (was ein Rollback erfordern würde).

OHNEHIN! Konstruktive Denkanstöße.

@nslater mein größtes Bedauern ist, dass ich das "s" am Ende von "othersexuals" verpasst habe, also sieht es so aus, als hätte ich "sie" richtig verstanden, obwohl ich es in Wirklichkeit als Plural meinte. Ändert die Bedeutung total. Kannst du das bitte notieren?

Konversation gesperrt, da es zu diesem Zeitpunkt einfach degenerieren kann.

Wie zuvor über das Internet kommuniziert, verwendet Redis den Begriff "Replikat" jetzt überall dort, wo Abwärtskompatibilität kein Thema ist. Schließen Sie dieses Problem, aber öffnen Sie es erneut oder erstellen Sie ein neues.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen