博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis整数集合
阅读量:4093 次
发布时间:2019-05-25

本文共 426 字,大约阅读时间需要 1 分钟。

Redis 整数集合

  • 概述
    • 整数集合intset是集合键的底层实现之一,当一个集合只包含数值元素且数量不多时就会使用其作为集合键的底层实现
    • 用于保存int16_t,int32_t,int64_t,不会重复
  • 数据结构
    • encoding 编码方式
    • length 元素数量
    • contents[] 保存元素的数组,数组保存的类型取决于encoding属性,从小到大顺序排列
  • 升级
    • 当要向整数集合添加新的元素且长度比现有元素的长度都要长的时候,intset需要先进行升级,再添加到intset中。
    • 1.根据新元素的类型,扩展intset底层数组的空间大小并为新元素分配空间
    • 2.所有元素的类型转换成相同的,维持有序性不变
    • 3.将新元素添加到数组中
    • 4.改变encoding与length属性
  • 升级的好处
    • 提升整数集合的整体灵活性
      • 不必担心出现类型错误
    • 尽可能节约内存
      • 按需分配
  • 降级
    • 整数集合不支持降级,一旦升级将保持升级后的状态
  • 参考
    • 《Redis设计与实现》

转载地址:http://xhiii.baihongyu.com/

你可能感兴趣的文章
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
神器面世:让你快速在 iOS 设备上安装 Windows、Linux 等操作系统!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
太赞了!GitHub 标星 2.4k+,《可解释机器学习》中文版正式开放!
查看>>
程序员用 AI 修复百年前的老北京视频后,火了!
查看>>
漫话:为什么你下载小电影的时候进度总是卡在 99% 就不动了?
查看>>
我去!原来大神都是这样玩转「多线程与高并发」的...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
学习笔记4(内部类总结)
查看>>
使用类和对象
查看>>
学习笔记(引用,动态分配等等)
查看>>
迭代器使用
查看>>
HSV颜色特征
查看>>
java web技术
查看>>
matplotlib系列_2_修改坐标轴的刻度
查看>>