Redis的底层数据结构-整数集合

技术Redis的底层数据结构-整数集合 Redis的底层数据结构-整数集合整数集合(intset)是Redis用于保存整数值的集合抽象数据类型,它可以保存类型为int16_t、int32_t 或者int

Redis-整数集的底层数据结构

整数集是Redis用来存储整数值的集合抽象数据类型。它可以存储int16_t、int32_t或int64_t类型的整数值,并确保集合中不会有重复的元素。

定义如下:

typedef结构intset{

//编码方法

uint32_t编码;

//集合中包含的元素数量

uint32_t长度;

//保存元素数组

int8_t目录[];

} intset

整数集的每个元素都是内容数组的一个数据项,按从小到大的顺序排列,不包含任何重复项。

length属性记录内容数组的大小。

需要注意的是,虽然contents数组被声明为int8_t类型,但实际上contents数组并不保存任何int8_t类型的值,它的实类型是由编码决定的。

、升级

当新添加的元素类型比原集合元素类型长时,需要升级整数集合,将新元素放入整数集合中。具体步骤:

1.根据新元素类型,扩展整数集底部数组的大小,为新元素分配空间。

2.将基础数组的所有现有元素转换为与新元素相同类型的元素,并将转换后的元素放在正确的位置。在放置过程中,保持整个元素的顺序有序。

3.向整数集中添加新元素(确保顺序)。

升级可以大大节省内存。

、降级

整数不支持降级操作。一旦阵列升级,代码将保持升级状态。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81997.html

(0)

相关推荐

  • 学生证有什么用处,国际学生证在巴黎用处大吗

    技术学生证有什么用处,国际学生证在巴黎用处大吗1. 著名景点基本上都有打折,比如巴黎人游艇,凡尔赛宫,蒙马特小火车等等,如果需要我可以私信您我们巴黎优惠的List清单学生证有什么用处。谢谢回复 2# nelucifer

    生活 2021年10月24日
  • python中wxpy的安装与使用是怎样的

    技术python中wxpy的安装与使用是怎样的python中wxpy的安装与使用是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.wxpy基本介绍w

    攻略 2021年12月4日
  • mysql中自增id的示例分析

    技术mysql中自增id的示例分析这篇文章主要介绍了mysql中自增id的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。对于auto_increm

    攻略 2021年11月6日
  • jquery如何判断点击了几次

    技术jquery如何判断点击了几次本篇内容主要讲解“jquery如何判断点击了几次”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何判断点击了几次”吧!

    攻略 2021年11月19日
  • 美容医院排行,中国排名前十的美容院有哪些

    技术美容医院排行,中国排名前十的美容院有哪些御尚坊颜连锁美容院、梵玛西美容品牌、北京御蜂坊·蜂SPA美容、兰黛之谜、娇悦诗、百莲凯、克丽缇娜、雅致轩、蔓菲国际、美莱。美容行业是最有前景的八大行业之一美容医院排行,目前国内

    生活 2021年10月31日
  • 如何实现element穿梭框性能优化

    技术如何实现element穿梭框性能优化这篇文章主要讲解了“如何实现element穿梭框性能优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现element穿梭框

    攻略 2021年10月26日