KerndataGaming

Realtime ranglijsten

Live ranglijsten voor games, sport en social apps, met scoreupdates en reads die parallel draaien.

gesorteerd bij schrijven
Altijd
commando voor de top 10
1
commando voor de rang van een speler
1
Stap 1 van 5
Een score vastleggen

Een wedstrijd eindigt en het resultaat wordt geschreven.

Voorbeeldsessieplaying
# Een score vastleggen
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

Een geanimeerde walkthrough met echte HotKV-commando's en voorbeeldantwoorden. Klik op een stap om ernaartoe te springen. Commando's en antwoorden blijven Engels, precies zoals je ze in HotKV typt en ziet.

Het probleem

Een ranglijst wordt constant geschreven en constant gelezen. Elke scorewijziging kan de tabel herordenen en elke speler verwacht direct zijn rang te zien. Ranglijsten herberekenen in een relationele database houdt geen stand zodra het verkeer groeit.

Hoe HotKV het aanpakt

Sorted sets houden leden gesorteerd op score terwijl ze worden geschreven, zodat de top van de tabel en de rang van elke speler altijd klaarstaan om te lezen. HotKV voert commando's uit op veel workerthreads, dus scoreupdates en reads worden niet door één thread geleid.

Stap voor stap

Wat er gebeurt, commando voor commando

  1. 01

    Een score vastleggen

    Een wedstrijd eindigt en het resultaat wordt geschreven.

    ZADD board:2026-w42 1500 alice
  2. 02

    Bij een score optellen

    Bob wint een ronde. Zijn score groeit en de volgorde wordt direct bijgewerkt.

    ZINCRBY board:2026-w42 250 bob
  3. 03

    De top 10 tonen

    Elke client en de streamoverlay lezen de koplopers terwijl schrijfacties doorgaan.

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

    Waar sta ik?

    Elke speler ziet zijn eigen positie.

    ZREVRANK board:2026-w42 alice
  5. 05

    Wekelijkse reset zonder job

    Elke week heeft een eigen sleutel en verloopt na twee weken.

    EXPIRE board:2026-w42 1209600
Waar het past

Praktijkscenario's

Mobiele games en consolegames

Wereldwijde, regionale en vriendenranglijsten zijn aparte sorted sets, na elke wedstrijd bijgewerkt.

Fitness- en leerapps

Wekelijkse streak- en puntenranglijsten resetten zichzelf door elke week naar een nieuwe sleutel over te schakelen.

Live-evenementen en esports

Uitzendoverlays lezen elke seconde de tussenstand terwijl resultaten binnenstromen.

Ingebouwd

Wat je krijgt

Altijd geordende ranglijsten

Geen rankingjob om te draaien. De volgorde wordt bijgehouden terwijl scores binnenkomen.

ZADDZINCRBY

Toplijsten en spelersrang

Elk één commando.

ZREVRANGEZREVRANK

Veel workerthreads

Scoreupdates en reads worden over workerthreads verdeeld in plaats van over één.

Periodieke ranglijsten

Eén sleutel per periode met een verloopdatum.

EXPIRE

Veelgestelde vragen

Hoe bouw ik een dagelijkse of wekelijkse ranglijst?

Gebruik één sorted set per periode, zoals board:2026-w42, en stel er een verloopdatum op in.

Kan ik ranglijsten combineren?

Ja. ZUNIONSTORE telt meerdere ranglijsten bij elkaar op tot één, bijvoorbeeld een maandranglijst uit vier weekranglijsten.

Vertragen veel schrijfacties de reads?

HotKV voert commando's uit op meerdere workerthreads, dus scoreupdates en reads worden niet door één thread geleid.

Verwante use cases

Probeer het op je eigen workload

HotKV spreekt het Redis-protocol, dus je kunt een bestaande client erop richten en dezelfde commando's uitvoeren.