您的位置:首页 > 理论基础 > 数据结构算法

Redis设计与实现】 读书笔记 数据结构与对象 整数集合

2018-08-24 10:57 691 查看

整数结合

简介

整数集合是结合键的底层实现之一,当一个集合只包含整数值元素,并且这个结合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。

数据结构

typedef struct intset {
// 编码方式
uint32_t encoding;
// 集合包含的元素数量
uint32_t length;
// 保存元素的数组
int8_t contents

虽然intset结构将contents属性生命为int8_t,但实际上contents数组并不保存任何int8_t类型的值,contents数组的真正类型取决于encoding属性的值。

总结

  1. 整数集合是集合键的底层实现之一。
  2. 整数集合的底层实现为数组,这个数组以有序、无重复的方式保存集合元素,在有需要时,程序会根据新添加元素的类型,改变这个数组的类型。
  3. 升级操作为整数集合带来了操作上的灵活性,并且尽可能地节约了内存。
  4. 整数集合只支持升级操作,不支持降级操作。
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: