在面试题中,一般提到 Redis 数据结构,常常指的是:字符串 String、列表 List、哈希 hash、集合 Set、有序集合 ZSet。其实这些属于 Redis 的对象类型,也就是 key-value 中的 Value 的类型。而在 Redis 中实现这些类型的数据结构却另有它人,在 Redis 中数据结构使用编码来表示。
    Redis 常见数据结构有:简单动态字符串 SDS、字典 dict、链表 list、跳跃表 skiplist、整数集合 intset、压缩列表 ziplist。

    对象 编码(数据结构) 对象类型
    string int、embstr、SDS REDIS_STRING
    list ziplist、linkedlist REDIS_LIST
    hash ziplist、hashtable REDIS_HASH
    set intset、hashtable REDIS_SET
    zSet ziplist、skiplist+dict REDIS_ZSET

    image.png