以下涉及到的源码均为redis5.0-rc3版本的代码【点击查看官方源码】
整数集合
整数集合(intset),故名思意,是存放整数的集合数据结构,从而可知其是集合(Set)的底层实现之一。而从源码中可知,整数集合中的元素又是从小到大来排序的。
数据结构
整数集合的定义在源码头文件intset.h中,如下所示:
1 | typedef struct intset { |
- encoding:当前结构内所有元素的类型,如int8_t,int16_t,int32_t,int64_t;
- length:contents数组中元素的个数,也即一个整数集合中存储的元素的个数;
- contents[]:存放元素的数组;