KerndatenGaming

Echtzeit-Bestenlisten

Live-Ranglisten für Spiele, Sport und soziale Apps, bei denen Punkteaktualisierungen und Lesezugriffe parallel laufen.

beim Schreiben sortiert
Immer
Befehl für die Top 10
1
Befehl für den Rang eines Spielers
1
Schritt 1 von 5
Einen Punktestand erfassen

Ein Match endet, und das Ergebnis wird geschrieben.

Beispielsitzungplaying
# Einen Punktestand erfassen
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.

Das Problem

Eine Bestenliste wird ständig geschrieben und ständig gelesen. Jede Punkteänderung kann die Tabelle neu ordnen, und jeder Spieler erwartet, seinen Rang sofort zu sehen. Ranglisten in einer relationalen Datenbank neu zu berechnen, hält nicht mehr mit, sobald der Traffic wächst.

So löst HotKV es

Sorted Sets halten Mitglieder schon beim Schreiben nach Punktestand geordnet, sodass die Spitze der Tabelle und der Rang jedes Spielers immer lesebereit sind. HotKV führt Befehle auf vielen Worker-Threads aus, sodass Punkteaktualisierungen und Lesezugriffe nicht durch einen einzigen Thread gezwängt werden.

Schritt für Schritt

Was passiert, Befehl für Befehl

  1. 01

    Einen Punktestand erfassen

    Ein Match endet, und das Ergebnis wird geschrieben.

    ZADD board:2026-w42 1500 alice
  2. 02

    Zu einem Punktestand addieren

    Bob gewinnt eine Runde. Sein Punktestand wächst, und die Reihenfolge aktualisiert sich sofort.

    ZINCRBY board:2026-w42 250 bob
  3. 03

    Die Top 10 anzeigen

    Jeder Client und das Stream-Overlay lesen die Spitzenreiter, während weiter geschrieben wird.

    ZREVRANGE board:2026-w42 0 9 WITHSCORES
  4. 04

    Wo stehe ich?

    Jeder Spieler sieht seine eigene Position.

    ZREVRANK board:2026-w42 alice
  5. 05

    Wöchentlicher Reset ohne Job

    Jede Woche hat ihren eigenen Key, der nach zwei Wochen abläuft.

    EXPIRE board:2026-w42 1209600
Wo es passt

Szenarien aus der Praxis

Mobile- und Konsolenspiele

Globale, regionale und Freundes-Bestenlisten sind getrennte Sorted Sets, die nach jedem Match aktualisiert werden.

Fitness- und Lern-Apps

Wöchentliche Ranglisten für Serien und Punkte setzen sich selbst zurück, indem jede Woche auf einen neuen Key gewechselt wird.

Live-Events und E-Sport

Broadcast-Overlays lesen die Tabelle jede Sekunde, während Ergebnisse einströmen.

Integriert

Was Sie bekommen

Stets geordnete Ranglisten

Kein Ranking-Job nötig. Die Reihenfolge wird gepflegt, während Punktestände eintreffen.

ZADDZINCRBY

Top-Listen und Spielerrang

Jeweils ein Befehl.

ZREVRANGEZREVRANK

Viele Worker-Threads

Punkteaktualisierungen und Lesezugriffe verteilen sich auf Worker-Threads statt auf einen.

Periodische Bestenlisten

Ein Key pro Zeitraum mit Ablaufzeit.

EXPIRE

Häufige Fragen

Wie baue ich eine tägliche oder wöchentliche Bestenliste?

Verwenden Sie ein Sorted Set pro Zeitraum, etwa board:2026-w42, und setzen Sie eine Ablaufzeit darauf.

Kann ich Bestenlisten kombinieren?

Ja. ZUNIONSTORE fasst mehrere Bestenlisten zu einer zusammen, zum Beispiel eine Monatsliste aus vier Wochenlisten.

Bremsen viele Schreibzugriffe die Lesezugriffe aus?

HotKV führt Befehle auf mehreren Worker-Threads aus, sodass Punkteaktualisierungen und Lesezugriffe nicht durch einen einzigen Thread gezwängt werden.

Verwandte Anwendungsfälle

Probieren Sie es mit Ihrer eigenen Workload

HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.