多图解释Redis的整数集合intset升级过程

redis源码分析系列文章

[Redis源码系列]在Liunx安装和常见API 

为什么要从Redis源码分析 

String底层实现——动态字符串SDS 

双向链表都不懂,还说懂Redis?

面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)

Redis的跳跃表确定不了解下

 

前言

大噶好,今天仍然是元气满满的一天,抛开永远写不完的需求,拒绝要求贼变态的客户,单纯的学习技术,感受技术的魅力。(哈哈哈,皮一下很开森)

前面几周我们一起看了Redis底层数据结构,如动态字符串SDS,双向链表Adlist,字典Dict,跳跃表,如果有对Redis常见的类型或底层数据结构不明白的请看上面传送门。

今天来说下set的底层实现整数集合,如果有对set不明白的,常见的API使用这篇就不讲了,看上面的传送门哈。

多图解释Redis的整数集合intset升级过程

整数集合概念

整数集合是Redis设计的一种底层结构,是set的底层实现,当集合中只包含整数值元素,并且这个集合元素数据不多时,会使用这种结构。但是如果不满足刚才的条件,会使用其他结构,这边暂时不讲哈。

下图为整数集合的实际组成,包括三个部分,分别是编码格式encoding,包含元素数量length,保存元素的数组contents。(这边只需要简单看下,下面针对每个模块详细说明哈

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygszz.html