美文网首页
第七章 压缩列表

第七章 压缩列表

作者: 今天不想掉头发 | 来源:发表于2019-07-26 10:58 被阅读0次

压缩列表是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做列表键的底层实现。


image.png

另外,当一个哈希键只包含少量键值对,并且每个键值对的键和值要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做哈希键的底层实现。


image.png

压缩列表的结构如图所示:


image.png

压缩列表节点的结构如图所示:


image.png

其中
previous_entry_length表示前一个节点的长度,通过该属性可以从尾节点向前遍历到头节点;
encoding记录了节点content属性所保存数据的类型及长度;
content属性负责保存节点的值,节点值可以是一个字节数组或者整数。

连锁更新

当插入一个大元素或者删除掉一个小元素而暴露出前面的大元素的时候可能会引起后序多个压缩列表节点的扩容操作(如果前一个节点的长度小于254字节,length只是用1个字节长的空间;如果前一个字节长度大于等于254字节,则length要用5字节长的空间)。

image.png

相关文章

  • 第七章 压缩列表

    压缩列表是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度...

  • 第七章 压缩列表

    压缩列表(ziplist)是列表键和哈希键的底层实现之一。如果列表键只包含少量的列表项,每个列表项要么是小整数值,...

  • 7 压缩列表

    压缩列表(ziplist)是列表键和哈希键的底层实现之一。 7.1 压缩列表的构成 压缩列表是Redis为了节约内...

  • Redis数据结构与对象——压缩列表

    压缩列表(ziplist)是列表和哈希键的底层实现之一。 1 压缩列表的构成 压缩列表是Redis节约成本而开发,...

  • redis ziplist

    压缩列表 压缩列表(ziplist)是列表键和哈希键的底层实现之一。 当一个列表键只包含少量列表项, 并且每个列表...

  • 快速整透Redis中的压缩列表到底是个啥

    压缩列表简介 压缩列表(ziplist)是由一个连续内存组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每...

  • 06.压缩列表

    1.简介: 压缩列表: 压缩列表是列表键和哈希键的底层实现之一,当一个列表键只包含少量的列表项, 并且每个列表...

  • 压缩列表

    zipList是list和hash的底层实现之一。 即当list包含少量的列表项或者小整数。要么就是长度比较短的字...

  • 压缩列表

    压缩列表(ziplist)是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整...

  • 压缩列表

    构成 压缩列表是 Redis 为了节约内存而开发的, 由一系列特殊编码的连续内存块组成的顺序型(sequentia...

网友评论

      本文标题:第七章 压缩列表

      本文链接:https://www.haomeiwen.com/subject/wuilrctx.html