redis底层数据结构
2022/7/13 2:20:07
本文主要是介绍redis底层数据结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一丶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
这篇关于redis底层数据结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-21redisinsight-v2
- 2024-02-26Typed property App\Api\Mapper\GamePropsConfigMapper::$apiRedis must not be accessed before initia-icode9专业技术文章分享
- 2024-02-21redisson getlock
- 2024-02-20redis config
- 2024-02-20redis leaderboard
- 2024-01-23缓存选型:Redis or MemCache
- 2024-01-22面试官:Redis持久化能关吗?怎么关?
- 2024-01-21Redis压测工具redis-benchmark-icode9专业技术文章分享
- 2024-01-19这才是你应该了解的Redis数据结构!
- 2024-01-18Redis系列:使用 Redis Module 扩展功能