Redis Sunion

Redis Sunion

„Set kann aus einer endlichen Sammlung von Alphabeten, numerischen Werten oder sogar realen Objekten bestehen. In Zahlensystemen haben wir eine Reihe von Operationen, um mathematische Berechnungen durchzuführen. In ähnlicher Weise sind festgelegte Operationen erforderlich, wenn wir eine Beziehung zwischen zwei oder mehr Sätzen herstellen müssen. In diesem Leitfaden konzentrieren wir uns nur auf Set Union Operations. Die Set Union ist definiert als die unterschiedlichen Elemente, die in Set A, in Set B oder bei beiden Mengen A und B enthalten sind, wobei A und B zwei angegebene Sets sind.”

Wie in der obigen Abbildung gezeigt, gehören alle unterschiedlichen Elemente zu Set A und Set B oder beide werden als Vereinigung von Set A und Set B bezeichnet.

Redis -Sets und Sunion -Befehl

Redis-In-Memory-Datenspeicher unterstützt die festgelegten Datentypen, um eine Sammlung eindeutiger String-Mitglieder auf ungeordnete Weise zu erhalten. Es unterstützt auch wichtige Set -Operationen wie Gewerkschaft, Kreuzung und Unterschied. In dieser Diskussion werden wir uns auf den Gewerkschaftsbetrieb in Redis -Sets konzentrieren. Der Befehl sunion wird verwendet, um die Vereinigung bestimmter Sets zu erhalten. Es hat o (n) lineare Zeitkomplexität, wobei n die Anzahl der Mitglieder in allen Sätzen ist.

Das Folgende ist die Syntax des Sunion -Befehls.

Sunion set_key [set_key…]

set_key: Der Schlüssel, der dem Satz zugeordnet ist.

Der Befehl sunion akzeptiert mehr als ein Set. Wenn Sie im Befehl einen einzelnen Satz angegeben haben, sind die Rückgabe alle Elemente des angegebenen Satzes.

Dieser Befehl gibt einen weiteren Satz zurück, der alle unterschiedlichen Mitglieder enthält, die sich aus der Vereinigung gegebener Sätze ergeben, wie in der folgenden Abbildung gezeigt.

Anwendungsfall: Bringen Sie alle Besucher auf Unternehmenswebsites

Nehmen wir an, dass ein Unternehmen 3 Websites für verschiedene Marketingzwecke unterhält. Jede Website hat eine große Anzahl registrierter Benutzer. Während der Weihnachtszeit plant das Unternehmen, alle aktiven Benutzer Geschenkgutscheine zu senden, die ihre drei Websites besucht haben. Das Unternehmen verfolgt monatliche Besucher in einem Redis -Datenspeicher. Da sie unterschiedliche Benutzer unterhalten müssen, die monatlich besuchen, verwenden sie hier Redis -Sets.

Wenn der Benutzer eine Website Anfang dieses Monats besucht, wird zum Set hinzugefügt. Die folgenden Besuche im selben Monat für den Benutzer A werden jedoch der Datenbank keinen neuen Datensatz hinzufügen.

Erstellen wir drei Sets mit einigen Dummy -Benutzer -IDs mit dem SADD -Befehl wie folgt.

Der erste Satz, Site1: Besucher, wird verwendet, um den Besuch des Benutzers auf Site 1 zu halten.

Sadd Site1: Besucher "Jack" "Harry_12" "Mary4" "Saumya12" "Ricky_Martin"

Als nächstes die Site2: Besucher Das Set wird wie folgt erstellt.

Sadd Site2: Besucher "Mary4" "Linkon"

Schließlich der Set Site3: Besucher, Das hält die Besucher von Site 3.

SADD Site3: Besucher "Linkon" "Deva" "Martin" "John12"

Überprüfen wir jeden Satz und überprüfen, ob alle Mitglieder ordnungsgemäß gespeichert wurden. Wir werden den Befehl smembers verwenden, um Mitglieder pro Satz abzurufen.

Smberber Site1: Besucher
Smberber Site2: Besucher
Smberber Site3: Besucher

Ausgang

Jetzt benötigt das Unternehmen, alle angesehenen Besucher aller drei Standorte abzurufen. Dies ist die Vereinigung von drei Sätzen, die wir kurz zuvor erstellt haben.

Sunion Site1: Besucher Site2: Besucher Site3: Besucher

Ausgang

Wie erwartet enthält die resultierende Liste alle unterschiedlichen Mitglieder aller drei Sätze: Site1: Besucher, Site2: Besucher und Site3: Besucher.

Lassen Sie uns einen im Befehl festgelegten nicht existierenden Satz angeben und die Ausgabe sehen.

Sunion Site1: Besucher Site2: Besucher Site3: Besucher Site4

Im obigen Befehl, Site4 ist ein nicht existierender Satz, aber es gibt keinen Unterschied in der daraus resultierenden Sammlung von Mitgliedern, weil Site4 wurde von dem Sunion -Befehl als leer angesehen.

Wir können sogar einen einzelnen Satz als festgelegter Argument angeben. In diesem Fall wird die Gewerkschaft alle Elemente im angegebenen Satz enthalten.

Sunion Site2: Besucher

Ausgang

Wie erwartet enthält der resultierende Satz alle Elemente von Die Seite2: Besucher Satz. Insgesamt ist der Sunion -Befehl sehr nützlich, um die Vereinigung mehrerer Sätze zu nehmen, was bei manuellem Durchführung eine beträchtliche Zeit verbraucht.

Abschluss

Abschließend kann der Sunion -Befehl verwendet werden, um die Vereinigung bestimmter Sets abzurufen. Dieser Befehl arbeitet nach linearer Zeitkomplexität und hat eine sehr einfache Syntax, bei der er nur die Schlüssel der Sets akzeptiert, die Sie benötigen, um die Gewerkschaft zu erhalten. Wie in den obigen Abschnitten hervorgehoben, gibt der Befehl sunion eine Liste von Mitgliedern zurück, die sich aus der Vereinigung der angegebenen Sets ergeben. Schließlich werden die nicht existierenden Schlüssel, die im Befehl angegeben werden.