手机与主机游戏
全球榜、地区榜和好友榜是各自独立的有序集合,每场对局之后更新。
为游戏、体育和社交应用提供实时排名,分数更新与读取并行进行。
一场对局结束,结果被写入。
使用真实 HotKV 命令和示例回复的动画演示。点击任意步骤即可跳转。 命令和回复保持英文,与您在 HotKV 中输入和看到的完全一致。
排行榜被持续写入,也被持续读取。每次分数变化都可能让整张榜单重新排序,每位玩家都希望立刻看到自己的名次。一旦流量增长,在关系型数据库中重新计算排名就撑不住了。
有序集合在写入时就按分数保持成员有序,因此榜单前列和任何玩家的名次随时都可以直接读取。HotKV 在多个 worker 线程上执行命令,分数更新和读取不会被挤进同一个线程。
一场对局结束,结果被写入。
ZADD board:2026-w42 1500 aliceBob 赢下一局。他的分数增加,排序立即更新。
ZINCRBY board:2026-w42 250 bob在写入持续进行的同时,每个客户端和直播叠加层都在读取领先者。
ZREVRANGE board:2026-w42 0 9 WITHSCORES每位玩家都能看到自己的名次。
ZREVRANK board:2026-w42 alice每周使用自己的键,两周后过期。
EXPIRE board:2026-w42 1209600全球榜、地区榜和好友榜是各自独立的有序集合,每场对局之后更新。
每周的连续打卡和积分排名,通过每周切换到新键自动重置。
在结果持续涌入的同时,直播叠加层每秒读取一次排名。
无需运行排名任务。分数到达时顺序即已维护好。
ZADDZINCRBY各需一条命令。
ZREVRANGEZREVRANK分数更新和读取分布在多个 worker 线程上,而不是一个。
每个周期一个带过期时间的键。
EXPIRE每个周期使用一个有序集合,例如 board:2026-w42,并为它设置过期时间。
可以。ZUNIONSTORE 把多个榜单相加为一个,例如由四个周榜得出一个月榜。
HotKV 在多个 worker 线程上运行命令,分数更新和读取不会被强制挤进同一个线程。