Redis(五),springboot视频推流

Redis的压缩列表是用于节约内存的数据结构,常作为列表键和哈希键的底层实现。它由一系列特殊编码的连续内存块组成,包含多个节点,每个节点可存储字节数组或整数值。压缩列表的结构包括zlbytes、zltail、zllen等字段,每个节点由previous_entry_length、encoding和content组成。通过previous_entry_length可以实现从尾到头的遍历。压缩列表适用于存储小数据量且数据较小的情况。
摘要由CSDN通过智能技术生成

压缩列表

压缩列表是列表键和哈希键的底层实现之一(列表键list的另一个底层实现是链表,哈希键hash另一个实现底层是哈希表)

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

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

压缩列表的构成

压缩列表是Redis为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序型数据结构,一个压缩列表是可以包含任意多个节点的,每个节点可以保存一个字节数组或者一个整数值

它的结构如下图所示

在这里插入图片描述

  • zlbytes:类型为uint32_t(无符号型32位整数,长度为4字节,以16进制表示),用来记录整个压缩列表占用的内存字节数,在对压缩列表进行内存重分配时,或者计算zlend的位置时使用

  • zltail:类型为unit32_t(无符号型32位整数,长度为4字节,以16进指表示),记录压缩列表的尾结点(entryN)距离压缩列表的起始位置(zlBytes)有多少字节,其实就是一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值