【679、Zset底层结构?key-value中的key底层结构?】

51 阅读1分钟

Zset(有序集合)底层结构是由一个跳跃表(skiplist)和一个哈希表(hash table)组成。跳跃表是一种有序的数据结构,其中的节点通过指针进行链接,可以高效地实现元素的查找和插入。在Zset中,跳跃表用于实现元素的有序性,而哈希表则用于实现元素的唯一性。

在Redis中,key的底层结构可以是字符串或字节数组。对于字符串类型的key,Redis内部采用了一种叫做sds(simple dynamic string)的结构来存储字符串,它是一种可动态扩容的字符串类型,相比C语言中的char数组具有更好的灵活性和安全性。对于字节数组类型的key,则是直接使用字节数组来存储。无论哪种类型的key,Redis都会对其进行哈希,以便将其映射到相应的slot上,进而找到对应的数据节点。