面试里问 Redis 数据类型,真正想听到的通常不只是 String、List、Hash、Set、ZSet 这几个名字,而是你是否知道它们分别适合什么场景。只背概念,很难体现实际使用经验。
先把五种基础类型讲清楚
String 适合缓存和计数,Hash 适合存对象字段,List 常见于消息队列和时间线,Set 适合去重关系,ZSet 适合排行榜和带权重排序。先把这五类用途说顺,比一开始就讲内部编码更稳。
再补几个高频高级结构
如果面试深一点,可以继续补 BitMap、HyperLogLog、Geo 和 Stream。它们不是每个项目都用,但能说明你知道 Redis 不只是简单键值缓存。
场景要和类型绑定着讲
回答时尽量把“类型”和“业务问题”放在一起,例如用 ZSet 做积分榜,用 Hash 存用户信息,用 Set 做共同好友。这样会比单独罗列结构更有说服力。
别忽略底层实现和取舍
如果岗位偏资深,可以顺带提一下跳表、压缩结构或内存占用差异,但重点仍然是为什么选它,而不是把所有底层细节背完。
结论
Redis 数据类型这道题,先讲清“类型对应场景”,再补高级结构和底层取舍,整体回答会更完整。
正文完




