ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis底层数据结构

2022-07-12 23:34:43  阅读:54  来源: 互联网

标签:存储 hash redis dict key dictht 数据结构 底层


一丶Redis底层结构

1. redis 存储结构

  • redis的存储结构从外层往内层依次是redisDb、dict、dictht、dictEntry。
  • redis的Db默认情况下有16个,每个redisDb内部包含一个dict的数据结构。
  • redis的dict内部包含dictht的数组,数组个数为2,主要用于hash扩容使用。
  • dictht内部包含dictEntry的数组,可以理解就是hash的桶,然后如果冲突通过挂链法解决

    真正保存数据的核心数据结构, dictEntry **table可以理解为hash的桶,通过挂链法解决冲突。

    存储数据的单个节点,包含key和value。保存我们存储在redis的数据。

  • 2.redis 数据存储过程

    数据存储过程以set为例作为说明,过程如下:

    • 从redisDb当中找到dict,每个db就一个dict而已。
    • 从dict当中选择具体的dictht对象。
    • 首先根据key计算hash桶的位置,也就是index。
    • 新建一个DictEntry对象用于保存key/value,将新增的entry挂到dictht的table对应的hash桶当中,每次保存到挂链的头部。
    • dictSetKey的宏保存key
    • dictSetVal的宏保存value

标签:存储,hash,redis,dict,key,dictht,数据结构,底层
来源: https://www.cnblogs.com/zouhong/p/16472191.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有