跳转到主要内容

标签: 底层实现

  • Redis 数据结构与底层实现

    发布于 Redis

    Redis数据结构底层实现

    Redis 对外暴露五种常用类型,但底层有多种编码(encoding)。根据数据规模自动在不同编码间转换,是它兼顾内存与性能的关键。 核心底层结构 SDS(简单动态字符串):相比 C 字符串记录长度、预分配空间,避免缓冲区溢出并支持二进制安全。 ziplist / listpack:连续内存的紧凑列表,节省空间,适合小数据量。 linkedlist:双向链表,元素多时替代 ziplist。 dict(字典):哈希表,使用链地址法解决冲突,渐进式 rehash 避免阻塞。 skiplist(跳表 …

    Redis 对外暴露五种常用类型,但底层有多种编码(encoding)。根据数据规模自动在不同编码间转换,是它兼顾内存与性能的关键。 核心底层结构 SDS(简单动态字符串):相比 C 字符串记录长度、预分配空间,避免缓冲区溢出并支持二进制安全。 ziplist / listpack:连续内存的紧凑列表,节省空间,适合小数据量。 linkedlist:双向链表,元素多时替代 ziplist。 dict(字典):哈希表,使用链地址法解决冲突,渐进式 rehash 避免阻塞。 skiplist(跳表 …