Ein Set kann mehr als vier Milliarden einzigartige Mitglieder speichern. Wichtige Set -Operationen wie z hinzufügen Und entfernen haben konstante Zeitkomplexität, was sehr effizient ist. Wenn Sie versuchen, einem Satz ein vorhandenes Element hinzuzufügen, wird nur eine Kopie dieses Elements beibehalten, ohne ein neues Element zu erstellen. Daher müssen explizite doppelte Überprüfungen nicht hinzugefügt werden.
Der Befehl "Smembers"
Es stehen mehrere Befehle zur Verfügung, um bei Redis -Sets zu arbeiten. Es ist immer nützlich, alle in einem Satz gespeicherten Elemente zu holen. Normalerweise wird der Befehl "Smembers" verwendet, um Elemente in einem Redis -Set abzurufen.
Syntax
Schläge
Jeder Satz hat einen Schlüssel, der als Referenz für das Elementarray fungiert.
Beispiel - Zählen Sie Seitenansichten von eindeutigen Benutzern
Nehmen wir ein Beispiel, in dem Ihre Website die Ansichten von einzigartigen Benutzern zählen muss. Daher zählen Sie nicht auf Ansichten, die aus derselben Benutzer -ID stammen. Wir können einen Set verwenden, um alle einzigartigen Benutzer auf Ihrer Website zu halten.
Wir können den Befehl "sadd" verwenden, um einen neuen Satz in einem bestimmten Schlüssel zu erstellen und einige Mitglieder hinzuzufügen.
SADD -Besucher "Henry001"
SADD -Besucher "Jackma"
SADD -Besucher "Singh06"
SADD -Besucher "Robin"
Dies würde einen Satz mit dem Schlüssel "Besucher" mit vier Mitgliedern erstellen, wie im Folgenden gezeigt.
Lassen Sie uns den Befehl "Smembers" ausführen, um die verfügbaren Mitglieder in der festgelegten SET zu überprüfen, die durch den Schlüssel "Besucher" identifiziert wurde.
Ausgang:
Das zurückgegebene Array enthält keine doppelten Benutzer -IDs. Daher können Sie die einzigartigen Benutzer identifizieren, die Ihre Website aus der obigen Befehlsausgabe besucht haben.
Wir können den Befehl "SADD" verwenden, um mehrere Mitglieder gleichzeitig hinzuzufügen, ohne dass der gleiche Befehl wiederholt ausgeführt wird.
Sadd New Vissitors "Singh06" "Henry001" "Jackma" "Robin"
Ausgang:
Das gleiche Ergebnis ergibt sich aus dem Befehl "Smembers".
Der Befehl "Sinter" kann anstelle des Befehls "Smembers" verwendet werden. Normalerweise gibt der Befehl "Sinter" die Schnittstelle von zwei Sätzen zurück. Aber Sie können es verwenden, indem Sie einen Schlüssel übergeben. Es würde die Mitglieder des Set zurückgeben, die in der übergabtischen Schlüssel gespeichert sind.
Sinter New Vissitors
Ausgang:
Die Befehlsleistung von 'Smembers'
Dieser Befehl hat eine lineare Zeitkomplexität, die als O (n) dargestellt werden kann. Dies bedeutet, dass bei zunehmender Zählung die Zeit für die Rücksendung der Elemente steigt.
Der Befehl "Smembers" auf einem nicht eingestellten Typ
Normalerweise funktioniert der Befehl "Smembers" nur mit festgelegten Datentypen. Es wird einen Fehler für andere Datentypen erhöht. Erstellen wir einen "Hash", wie im Folgenden gezeigt.
Hset myhash id 1 name name FunnyHash
Wir haben einen Hash namens "myhash" erstellt. Als nächstes werden wir diesen Schlüssel an den Befehl "Smembers" übergeben.
Schließt myhash
Ausgang:
Wie erwartet gibt der Befehl eine Fehlermeldung zurück, indem angibt. Es ist ein Hash. Daher wird der Befehl "Smembers" mit der obigen Fehlermeldung beendet. Dieser Befehl ist also spezifisch für die Festlegung von Datentypen.
Abschluss
Redis verfügt über mehrere eingebaute Datentypen. Es unterstützt Sätze. Ein Set ist eine ungeordnete Sammlung von Strings. Es speichert keine doppelten Mitglieder. Wenn wir versuchen, ein doppeltes Element in einen Satz einzufügen, führt es nur eine einzige Kopie dieses Mitglieds. Redis -Set -Operationen sind sehr effizient. Die Operationen hinzufügen und entfernen haben eine konstante Zeitkomplexität. Wir können den Befehl "Smembers" verwenden, um alle in einem festgelegten Mitglieder in einem festgelegten Schlüssel zurückzugeben. Dieser Vorgang hat eine lineare Zeitkomplexität und ist in realen Anwendungen immer noch sehr nützlich.