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属性的值。
总结
- 整数集合是集合键的底层实现之一。
- 整数集合的底层实现为数组,这个数组以有序、无重复的方式保存集合元素,在有需要时,程序会根据新添加元素的类型,改变这个数组的类型。
- 升级操作为整数集合带来了操作上的灵活性,并且尽可能地节约了内存。
- 整数集合只支持升级操作,不支持降级操作。
相关文章推荐
- 【Redis设计与实现】 读书笔记 数据结构与对象 对象
- 【30-Redis设计与实现-整数集合】
- Redis 设计与实现 (一)--数据结构
- Redis 一、数据结构与对象--五大数据类型的底层结构实现
- 我知道点redis-数据结构与对象(对象)-对象实现
- 结合redis设计与实现的redis源码学习-6-intset(整数集合)
- 学习笔记-Redis设计与实现-整数集合
- Redis-数据结构-5-整数集合
- Redis设计与实现 --- 数据结构
- redis内存编码数据结构(整数集合、压缩列表)
- [redis读书笔记] 第一部分 数据结构与对象 整数集合
- Redis设计与实现——数据结构(二)
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- 数据结构模版----单链表SimpleLinkList[带头结点&&面向对象设计思想](C语言实现)
- [REDIS 读书笔记]第一部分 数据结构与对象 跳跃表
- 数据结构拾遗(3) --红黑树的设计与实现(下)
- 数据结构基础(8) --单链表的设计与实现(1)之基本操作
- 数据实验结构(二)——栈和队列的设计与实现
- 数据结构基础(23) --红黑树的设计与实现(中)
- redis结构设计及针对msyql相关查询实现考虑