博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redisbook学习笔记(2)内存映射数据结构(1)压缩列表
阅读量:6093 次
发布时间:2019-06-20

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

Ziplist 是由一系列特殊编码的内存块构成的列表,一个ziplist 可以包含多个节点(entry),每

个节点可以保存一个长度受限的字符数组(不以\0 结尾的char 数组)或者整数,包括:

字符数组

– 长度小于等于63 (26 1)字节的字符数组

– 长度小于等于16383 (214 1)字节的字符数组

– 长度小于等于4294967295 (232 1)字节的字符数组

整数

– 4 位长,介于0 至12 之间的无符号整数

– 1 字节长,有符号整数

– 3 字节长,有符号整数

– int16_t 类型整数

– int32_t 类型整数

– int64_t 类型整数

因为ziplist 节约内存的性质,它被哈希键、列表键和有序集合键作为初始化的底层实现来使

ziplist 的构成

小结

ziplist 是由一系列特殊编码的内存块构成的列表,它可以保存字符数组或整数值,它还是

哈希键、列表键和有序集合键的底层实现之一。

ziplist 典型分布结构如下:

ziplist 节点的分布结构如下:

添加和删除ziplist 节点有可能会引起连锁更新,因此,添加和删除操作的最坏复杂度为

O(N2) ,不过,因为连锁更新的出现概率并不高,所以一般可以将添加和删除操作的复

杂度视为O(N) 。

这部分有点不太懂,回头需要复习啊!!!

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

你可能感兴趣的文章
数据结构队列链表实现
查看>>
iOS CoreData 开发
查看>>
bzoj千题计划242:bzoj4034: [HAOI2015]树上操作
查看>>
自动化测试学习
查看>>
配置PL/SQL Developer连接Oracle数据库
查看>>
创建CancellationTokenSource对象用于取消Task
查看>>
vue入门实例
查看>>
管理者的角色修炼-第三课-赢在执行
查看>>
Git2
查看>>
禁止windows2003 关机选项
查看>>
Log4Net
查看>>
人生不相见,动如参与商
查看>>
禁止双击选择页面内容
查看>>
HDU5037 Frog
查看>>
程序集冲突问题
查看>>
LeetCode 766. Toeplitz Matrix
查看>>
Java序列化反序列化对象流ObjectInputStream、ObjectOutputStream
查看>>
Spring与Mybatis的整合
查看>>
WinForm 弹框确认后执行
查看>>
Linux面试题
查看>>