面试真题

数据库 · 简单 · 网易

Zset 设计每日分数排行榜

简单 数据库 🎤 网易
参考答案
结论:利用Redis Zset按日期建Key实现每日排行榜。核心要点:1.Key设计:使用rank:daily:{yyyyMMdd}区分每一天;2.分数更新:ZINCRBY key increment member累加用户分数,或用ZADD设置;3.榜单查询:ZREVRANGE key 0 9 WITHSCORES获取Top10,ZREVRANK查用户排名;4.每日隔离:给Key设置次日零点过期的TTL,或每日新建Key并归档旧榜;5.持久化:每日终榜可落库备查。原理:Zset底层跳表+字典,按score自动排序,增删查改O(logN);独立Key天然隔离日期,避免手动清数据。示例:ZINCRBY rank:daily:20240501 10 user1;ZREVRANGE rank:daily:20240501 0 9 WITHSCORES。
题目整理自公开面经,答案由校招宝自研生成,仅供参考