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"
MyRedis:0>ZCARD test"5"
ZSCORE "KEY" "VALUE"
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" 开始下标 结束下标
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!