在Redis中,用于实现排名功能(功能e)最合适的数据类型是?
单选题
在Redis中,用于实现排名功能(功能e)最合适的数据类型是?
A. STRING
B. LIST
C. SET
D. ZSET
答案:D
解析
正确答案:D. ZSET
ZSET(有序集合)为每个元素绑定 score,Redis 会按 score 自动排序,天然适合排行榜、Top N、名次查询等排名功能。常用命令:ZADD 添加/更新分数,ZINCRBY 原子加分,ZREVRANGE 获取榜单,ZREVRANK 查询排名。
选项解析:
- A. STRING:只能存字符串或数值,排名需业务层取出全量数据再排序,效率低。
- B. LIST:按插入顺序排列,不能按分数自动排序,不适合动态排名。
- C. SET:无序且去重,只能判断成员是否存在,无法直接按分数排名。
- D. ZSET:有序、可去重、支持按 score 排序,是排名场景的标准选择。
延伸考点: ZSET 底层通常由跳表加哈希实现,查询排名复杂度约为 O(log N)。score 相同时按 member 字典序排列;海量榜单可分页、分段或定时重建,高频加分用 ZINCRBY 保证原子性。