redis-sorted set 实现方式-跳跃表

sorted set 实现方式-跳跃表

底层数据结构是跳跃表skip list,跳跃表是牺牲存储空间来换取查询速度,即空间换时间的概念,跳跃表新元素插入的时候,是随机造层;
跳跃表是随机造层的,每一层的末尾都指向的是一个空值,查询的时候先从最上层开始遍历,遍历到末尾再从下一层级开始遍历,下一层级开始遍历不是从头开始,而是从上一层级那个节点开始继续往后遍历,遍历到末尾还没有找到就继续遍历下一个层级,循环往复;越往上层级包含的数据越低,不可能每个层级都包含所有元素数据,否则就是三倍存储了,就不能提升性能了;是一种类平衡树的数据结构;
修改和删除都是改变节点指针指向目标节点的过程;
修改的时候,先把要修改的列删除,然后把相关指向指向下一个节点,把修改过后的数据走一遍查询,找到合适的节点,然后修改指向就行
跳跃表的性能,平均值最优
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值