首页 > 其他分享 >数据类型-Sorted Set(待补充)

数据类型-Sorted Set(待补充)

时间:2023-03-25 22:36:45浏览次数:43  
标签:Set 实现 数据类型 Redis 内存 红黑树 Sorted skiplist

Redis为什么使用skiplist而不是平衡树

Redis中的skiplist主要是为了实现sorted set相关的功能,红黑树当然也能实现其功能,为什么redis作者当初在实现的时候用了skiplist而不是红黑树、b树之类的平衡树? 而且显然红黑树比skiplist更节省内存啊! Redis的作者antirez也曾经亲自回应过这个问题,原文见:https://news.ycombinator.com/item?id=1171423

  1. skiplist并不是特别耗内存,只需要调整下节点到更高level的概率,就可以做到比B树更少的内存消耗。
  2. sorted set可能会面对大量的zrange和zreverange操作,跳表作为单链表遍历的实现性能不亚于其他的平衡树。
  3. 实现和调试起来比较简单。 例如,实现O(log(N))时间复杂度的ZRANK只需要简单修改下代码即可。
 

标签:Set,实现,数据类型,Redis,内存,红黑树,Sorted,skiplist
From: https://www.cnblogs.com/zhengbiyu/p/17255785.html

相关文章

  • 初识vue3-setup语法糖,ref和reactive语法,computde计算属性,watch开启监听
    vue3和vue2的区别1,vue3首次渲染更快(Vue3在编译和渲染性能上有了很大的提升,主要是因为使用了Proxy代理和优化算法,使得组件可以更快的渲染)2,diff算法更快3,内存占用体积......
  • 数据类型-Hash
    参考数据类型与底层数据结构,Hash类型存在压缩列表和哈希表两种数据结构。当Hash中节点比较少的情况下,底层才用压缩列表ziplist进行存储数据,随着数据的增加,底层的ziplist就......
  • asp.net core3.1使用EF Core出现:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT
    asp.netcore3.1使用EFCore3.1有毒efcore3.1遇到sqlserver2008'OFFSET'附近有语法错误。\r\n在FETCH语句中选项NEXT的用法无效。这就很烦,想加个EntityFrame......
  • Python爬虫基础——05-高级数据类型
    2.10,数据类型高级2.10.1字符串高级:字符串常见操作包括:获取长度lenlen函数可以获取字符串的长度。查找内容find查找指定内容在字符串中是否存在,如果存在就返回该内容在字符......
  • String数据类型
    当保存 64 位有符号整数时,String 类型会把它保存为一个 8 字节的 Long 类型整数,这种保存方式通常也叫作 int 编码方式。当保存的数据中包含字符时,String 类型......
  • 递归 Problem N:Bitset(HDU 2051)
    ProblemNTimeLimit:1000/1000ms(Java/Other)   MemoryLimit:32768/32768K(Java/Other)TotalSubmission(s):3   AcceptedSubmission(s):1ProblemDescr......
  • how to set static ip using command line for kali linux
    HowtoconfigureKaliLinuxtouseastaticIPaddresshttps://miloserdov.org/?p=542  sudovim/etc/network/interfaces  autoeth0ifaceeth0inets......
  • vs code 的 settings.json配置
    {"workbench.colorTheme":"Monokai","editor.matchBrackets":"never","workbench.iconTheme":"vscode-icons","diffEditor.ignoreTrimWhites......
  • openGauss维护管理之set自定义变量
    一、概述1、在mysql中,经常会有如下用法set@var_name:=123;2、在openGauss中,该语法默认没有打开,需要先修改一个环境变量报错:"onlysupportwhiledbcompabilityisB......
  • StatefulSet 更新策略
    OnDelete策略OnDelete更新策略实现了传统(1.7版本之前)的行为,它也是默认的更新策略。当我们选择这个更新策略并修改StatefulSet的.spec.template字段时,StatefulSet控......