Die Spalte Redis-Tutorial stellt Ihnen die Implementierung der Rangliste in Java basierend auf dem von Redis bestellten Satz vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
Als fast unverzichtbares Element in Internetanwendungen können Rankings den Wunsch nach Vergleichen wecken. Es gibt auch Möglichkeiten, Rankings wie Produktverkaufsrankings in einem bestimmten Schatz, Rankings zur Reputation von Geschäften usw. umzusetzen. Es gibt viele Möglichkeiten, den Schnellsortierungsalgorithmus zu verwenden und die Comparator-Schnittstelle zu implementieren, um nach einer bestimmten Gewichtung zu sortieren. Jetzt verwenden viele Unternehmen Redis, eine NoSQL-Datenbank, um die Ranking-Funktion zu implementieren Was wir jetzt tun müssen, ist, das Unternehmensranking auszuwerten. Der Ranking-Standard ist die Anzahl der Benutzersuchen nach dem Unternehmen und ein Ranking der Top-Ten-Unternehmen Die Implementierung der Ranking-Funktion ist eine Sortiermenge (geordnete Menge).
Eines der Merkmale einer Menge ist, dass sie keine doppelten Elemente enthält Elemente hat eine Sortiermenge auch eine weitere Eigenschaft, nämlich Ordnung.
Wert: Set-Element, Elemente sind nicht wiederholbar
String(set key),double(权重),String(value)
ZADD "KEY" SCORE "VALUE" [ SCORE "VALUE"]
Effekt
MyRedis:0>ZADD test 1 "one""1"MyRedis:0>zadd test 4 "four" 5 "five""2"
ZCARD "key"
Effekt:
MyRedis:0>ZCARD test"5"Erhalten Sie die Elemente im angegebenen Bereich (Standard in aufsteigender Reihenfolge von. Punktzahl|Gewicht)
ZSCORE "KEY" "VALUE"
Effekt
MyRedis:0>ZSCORE "test" "one""2"
Es sind ungefähr so viele Befehle erforderlich, um diese Anforderung zu erfüllen, und dann beginnen wir, unsere Anforderungen zu erkennen
2. Springboot + Redis-ImplementierungRedis-Abhängigkeiten importieren
ZINCRBY "key" score "value"
Schreiben von Tool-Klassen
MyRedis:0>ZSCORE "test" "one""2"MyRedis:0>ZINCRBY "test" 1 "one""3"MyRedis:0>ZSCORE "test" "one" "3"
Geschäftsimplementierung:
Da das Ranking hohe Echtzeitanforderungen stellt, denke ich persönlich, dass es nicht notwendig ist, in der Datenbank zu bleibenEin weiteres Problem ist das Ranking-Problem mit der gleichen Punktzahl.
Wenn ich möchte, dass A derjenige ist, der zuerst angekommen ist, vor B, der die gleiche Punktzahl hat, aber später angekommen ist. Um dieses Problem zu lösen, können wir erwägen, der Punktzahl einen Zeitstempel hinzuzufügen. Die Berechnungsformel lautet:ZRANGE "key" 开始下标 结束下标Dieses Unternehmen kann es mit der Zeit selbst schreiben, um den Fehler so weit wie möglich zu reduzieren
Das obige ist der detaillierte Inhalt vonInformationen zur Implementierung einer Rangliste durch Java basierend auf der von Redis geordneten Sammlung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!