参考答案
核心数据结构:字符串(string)、列表(list)、哈希(hash)、集合(set)、有序集合(zset),以及位图、HyperLogLog、Stream等。底层实现:1.string用SDS(简单动态字符串),支持动态扩容与二进制安全;2.list在3.2后采用quicklist(ziplist组成的双向链表);3.hash小数据用ziplist(压缩列表),大数据转dict(哈希表);4.set用intset(整数集合)或dict;5.zset用ziplist或skiplist+dict实现,跳表保证范围查询效率。Redis根据元素数量与大小自动切换编码以节省内存。