redis Zset类型的编码结构

本文探讨了Redis中两种重要的数据结构优化:ziplist和zskipList。ziplist适用于存储小字段和值的数据,尽管查找效率为O(N),但在特定条件下能节省内存。而zskipList则是一种用于有序数据的结构,采用跳跃表实现,查找时间复杂度为O(log N),默认层数为32,适合高效查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 两种结构:ZipList和hashTable,

                  (1) ziplist :上图可以看出 ziplist就是 list的压缩, 查找复杂度是O(N),所以有性能问题,字段小于128或者值并且值小于64 字节的时候用 ziplist 。 这个很耗时,先找分数。在找值,所以是128比一般的要少。

                  (2)第二种 也有两种,一种是 zskipLlst和dict

 

zskipLlst(跳跃表)是存的是分数 dict的每个项就是一个hash,分数值指向hash,一个分数可能有多个hash,zskipLlst是有序的,查找指定分数的时候,时间复杂度0(N),

 

默认是32层链表

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值