当前位置: 首页 > 网络应用技术

REDIS基础数据结构P4 -Hash

时间:2023-03-05 18:37:55 网络应用技术

  有两种类型的  底层中的一个是,这是结构较小时使用的编码方法。这是在文章p3名单中引入的,这是redis的基础数据结构。本文主要解释了另一种实现方式,词典,词典,词典,这是结构较大时使用的一种编码方法。

    这里即将开始尸体的语言。作为常用的数据结构,语言内部不可用。因此,开发人员设计和开发了它们的结构如下:

    每个属性含义如下:

    从上面可以看出,它本质上是哈希表的简单包装。定义如下所示:

    每个属性含义如下:

  &EMSP的示意图; 如下所示:

    上面提到的是,数据的真实存储的结构是一个数组,结构定义如下:

    它的示意图如下所示:

    最后,整个结构图引用了“重新设计和实现”中的图,如下所示:

    以上是不在状态的字典。总体上有两个哈希表存储数据,另一个存储数据为空,用于州的数据存储。

    当哈希表中的元素数量逐渐增加时,此时产生的概率逐渐增加。由于使用拉链方法,随着元素的增加,链接列表将变得越来越长,这将导致搜索搜索效率降低。相反,当元素继续减少时,元素占据率就越少。由于内存的最终使用,目前需要收缩操作。

    现在,在扩展和收缩方面,您是否想到了熟悉该系列的东西?是的,这是负载因子。负载因子通常用于描述当前填充的程度。在字典中,大小负责因子=哈希表中的节点/哈希表的数量,即:::

    在扩张和收缩的三个规则中:

    其中,扩张和收缩的数量具有某些规则:

    与中间类似,将发生它的扩展或收缩,并且该过程将发生。  简而言之,这是创建一个新的哈希表,一次进行所有当前节点,然后复制到新哈希表的相应位置,然后释放了原始表格,保留了新的表格引号,此过程是时间复杂性的操作。  对于单线线程,很难承受时间复杂的操作。因此,其过程不同。该过程如下:

    以上是逐步的重新恢复过程,但是在此过程中将存在两个明显的问题。

  &EMSP的设计师; 在设计时考虑了这两个问题。对于第一个问题,有一个计时器来确定它是否不时完成。如果未完成,请继续。定时功能如下:

    对于第二个问题,对于添加操作,新数据将直接添加到上面,以便只能保证或不保证上层数字的数量。对于删除,更改和查询操作,将直接执行,尤其是这三个操作将涉及查询。当查询不可用时,它将找到它。键值配对。

  优点:采用思想划分,将操作分散到哈希表的操作和计时器功能中,并避免集中度带来的性能压力

  缺点:在此过程中,需要保存两个表,并且内存稍大,如果服务器充满了内存,则可能会导致很多放弃;

    为什么您需要考虑扩展时的影响,而您需要它?

  REDIS在-Depth冒险中:核心原则和应用程序实践

  REDIS系列(6)基础数据结构的字典

  REHASH分析Redis Hash表

  REDIS数据的五种数据结构的底层