专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Redis 设计与实现 第7页

Redis教程,Redis新特性,Redis面试题,Redis源码分析,Redis安装,Redis性能调优,Redis系列博客

二十四、Redis 升级

每当我们要将一个新元素添加到整数集合里面, 并且新元素的类型比整数集合现有所有元素的类型都要长时, 整数集合需要先进行升级(upgrade), 然后才能将新元素添加到整数集合里面。 升级整数集合并添加新元素共分为三步进行: 1、 根据新元素...

赞(0)站长站长阅读(1135)

二十三、Redis 整数集合的实现

整数集合(intset)是 Redis 用于保存整数值的集合抽象数据结构, 它可以保存类型为 int16_t 、 int32_t 或者 int64_t 的整数值, 并且保证集合中不会出现重复元素。 每个 intset.h/intset 结构...

赞(0)站长站长阅读(1071)

JetBrains 全家桶,激活、破解、教程

获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。

二十二、Redis 重点回顾

跳跃表是有序集合的底层实现之一, 除此之外它在 Redis 中没有其他应用。 Redis 的跳跃表实现由 zskiplist 和 zskiplistNode 两个结构组成, 其中 zskiplist 用于保存跳跃表信息(比如表头节点、表尾节...

赞(0)站长站长阅读(1153)

二十一、Redis 跳跃表 API

表 5-1 列出了跳跃表的所有操作 API 。 表 5-1 跳跃表 API 函数 作用 时间复杂度 zslCreate 创建一个新的跳跃表。 zslFree 释放给定跳跃表,以及表中包含的所有节点。  , N ...

赞(0)站长站长阅读(1051)

二十、Redis 跳跃表的实现

Redis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而 zskiplist结构则用于保存跳跃表节点的相关信息...

赞(0)站长站长阅读(8110)

十九、Redis 重点回顾

字典被广泛用于实现 Redis 的各种功能, 其中包括数据库和哈希键。 Redis 中的字典使用哈希表作为底层实现, 每个字典带有两个哈希表, 一个用于平时使用, 另一个仅在进行 rehash 时使用。 当字典被用作数据库的底层实现, 或者...

赞(0)站长站长阅读(1170)

十八、Redis 字典 API

表 4-1 列出了字典的主要操作 API 。 表 4-1 字典的主要操作 API 函数 作用 时间复杂度 dictCreate 创建一个新的字典。 dictAdd 将给定的键值对添加到字典里面。 dictReplace 将给定的键值对添加到...

赞(0)站长站长阅读(1110)

十七、Redis 渐进式 rehash

上一节说过, 扩展或收缩哈希表需要将 ht[0] 里面的所有键值对 rehash 到 ht[1] 里面, 但是, 这个 rehash 动作并不是一次性、集中式地完成的, 而是分多次、渐进式地完成的。 这样做的原因在于, 如果 ht[0] 里...

赞(0)站长站长阅读(1102)

十六、Redis rehash

随着操作的不断执行, 哈希表保存的键值对会逐渐地增多或者减少, 为了让哈希表的负载因子(load factor)维持在一个合理的范围之内, 当哈希表保存的键值对数量太多或者太少时, 程序需要对哈希表的大小进行相应的扩展或者收缩。 扩展和收缩...

赞(0)站长站长阅读(1134)

十五、Redis 解决键冲突

当有两个或以上数量的键被分配到了哈希表数组的同一个索引上面时, 我们称这些键发生了冲突(collision)。 Redis 的哈希表使用链地址法(separate chaining)来解决键冲突: 每个哈希表节点都有一个 next 指针, ...

赞(0)站长站长阅读(1161)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们