Skip to content
进阶

一句话答案

Redis ZSet 天然支持排行榜:ZADD 更新分数,ZREVRANGE 获取 TopN,ZREVRANK 查排名,O(logN) 操作。

核心要点

核心操作:

  • ZADD key score member:更新分数
  • ZREVRANGE key 0 9:Top 10
  • ZREVRANK key member:查排名

大规模优化: 分桶(按分数段) / 定时快照 / 近似排名

追问与易错

追问方向:

  • 实时和定时排行榜怎么选?
  • 数据量千万怎么办?
  • 并列排名怎么处理?

易错点:

  • ❌ ZSET 能存无限数据——内存有限需清理
  • ❌ 忽略并发更新问题——ZADD 是原子的

💡 记忆锚点

排行榜的天选数据结构是Redis ZSet:ZADD更新分数、ZREVRANGE取TopN、ZREVRANK查排名,全是O(logN)跳表操作。数据量大了三招优化:分桶(按分数段拆多个ZSet)、定时快照(非实时排行定期算)、近似排名(亿级数据不需要精确到每一名)。