Mobile and console games
Global, regional and friends-only boards are separate sorted sets, updated after every match.
Live rankings for games, sports and social apps, with score updates and reads running in parallel.
A match ends and the result is written.
An animated walkthrough with real HotKV commands and example replies. Click any step to jump to it.
A leaderboard is written constantly and read constantly. Every score change can reorder the table and every player expects to see their rank right away. Recomputing rankings in a relational database does not hold up once traffic grows.
Sorted sets keep members ordered by score as they are written, so the top of the table and any player's rank are always ready to read. HotKV executes commands on many worker threads, so score updates and reads are not funnelled through one thread.
A match ends and the result is written.
ZADD board:2026-w42 1500 aliceBob wins a round. His score grows and the order updates at once.
ZINCRBY board:2026-w42 250 bobEvery client and the stream overlay read the leaders while writes continue.
ZREVRANGE board:2026-w42 0 9 WITHSCORESEach player sees their own position.
ZREVRANK board:2026-w42 aliceEach week has its own key and expires after two weeks.
EXPIRE board:2026-w42 1209600Global, regional and friends-only boards are separate sorted sets, updated after every match.
Weekly streak and points rankings reset themselves by switching to a new key each week.
Broadcast overlays read the standings every second while results stream in.
No ranking job to run. The order is maintained as scores arrive.
ZADDZINCRBYOne command each.
ZREVRANGEZREVRANKScore updates and reads are spread across worker threads instead of one.
One key per period with an expiry.
EXPIREUse one sorted set per period, such as board:2026-w42, and set an expiry on it.
Yes. ZUNIONSTORE adds several boards into one, for example a monthly board from four weekly ones.
HotKV runs commands on multiple worker threads, so score updates and reads are not forced through one thread.
HotKV speaks the Redis protocol, so you can point an existing client at it and run these same commands.