在Redis中,用于实现共同好友功能(功能d)最合适的数据类型是?
单选题
在Redis中,用于实现共同好友功能(功能d)最合适的数据类型是?
A. STRING
B. LIST
C. SET
D. ZSET
答案:C
解析
正确答案是 C. SET。共同好友本质是求两个用户好友集合的交集,Redis 的 SET 天然支持去重,并提供 `SINTER`、`SINTERSTORE` 等集合运算,可直接求出共同好友。
- A. STRING:适合缓存文本、计数等,不适合表达好友集合,做交集需应用层自行处理。
- B. LIST:有序且允许重复,无法天然去重,也不支持高效集合交集运算。
- C. SET:元素无序、唯一,支持交并差运算,是共同好友、标签、投票用户等场景的首选。
- D. ZSET:虽可通过 `ZINTERSTORE` 求交集,但每个元素需要 score,共同好友并不需要排序权重,成本更高。
面试延伸:好友关系常用 SET 存储用户 ID;若用户量巨大,可考虑 BITMAP 做位运算节省内存。核心考点是 Redis 数据结构与集合运算的匹配。