原文:redis源码学习-dict

.字典相关的几个结构体 .动态扩容方法 int dictRehash dict d, int n 为了对dictht进行动态扩容,rehash方法将ht 中的值搬n个到ht 中, 分批次进行搬运,直到ht 中的值都搬到ht 上,再将ht 指针交给ht ,rehashidx ,完成此次rehash过程 .使用到的几个hash算法 针对int的hash函数 MurmurHash 算法 djb has ...

2018-07-26 12:32 0 4228 推荐指数:

查看详情

Redis 源码解析 4:字典 dict

Redis 中,字典是基础结构。Redis 数据库数据、过期时间、哈希类型都是把字典作为底层结构。 字典的结构 哈希表 哈希表的实现代码在:dict.h/dictht ,Redis 的字典用哈希表的方式实现。 table 是一个哈希表数组,每个节点的实现在 dict ...

Sat Dec 26 07:29:00 CST 2020 0 427
Redis源码阅读]dict字典的实现

dict的用途 dict是一种用于保存键值对的抽象数据结构,在redis中使用非常广泛,比如数据库、哈希结构的底层。 当执行下面这个命令: 以及使用哈希结构,如: 都会使用到dict作为底层数据结构的实现。 结构的定义 先看看字典以及相关数据结构体的定义: 字典 ...

Mon Jan 08 19:06:00 CST 2018 1 1048
redis源码学习-skiplist

1.初步认识跳跃表 图中所示,跳跃表与普通链表的区别在于,每一个节点可以有多个后置节点,图中是一个4层的跳跃表 传统意义的单链表是一个线性结构,向有序的链表中插入一个节点需要O(n)的时间 ...

Thu Jul 26 22:36:00 CST 2018 0 4244
从零开始学习redis源码

  2020的开年是比较艰难的,爆发了肺炎疫情,希望大家多注意安全,也希望疫情早日好转!   以3.2版本的源码为例,开始讲解,有时会贴出源码,进行说明,并会注明源码出处。   数据库   应该都知道默认redis会有16个库,是根据配置文件来的,可以通过select命令来切换数据库。那原理 ...

Sun Feb 16 00:06:00 CST 2020 0 839
一起学习redis源码

redis的一些介绍,麻烦阅读前面的几篇文章,想对redis的详细实现有所了解,强力推荐《redis设计与实现》(不仅仅从作者那儿学习redis的实现,还有项目的管理、思想等,作者可能比你我都年轻欧)。如果阅读了上面的文档,激起你对redis的强力好奇,那么就只能阅读源码了。不管是在校学生 ...

Tue Jun 03 06:28:00 CST 2014 1 4373
Redis学习之SDS源码分析

一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDS是Redis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SDS被用作缓冲区:比如AOF模块的AOF缓冲区,以及客户端 ...

Sat Apr 20 18:53:00 CST 2019 0 1200
Redis原理再学习04:数据结构-哈希表hash表(dict字典)

哈希函数简介 哈希函数(hash function),又叫散列函数,哈希算法。散列函数把数据“压缩”成摘要,有的也叫”指纹“,它使数据量变小且数据格式大小也固定。 哈希函数将数据打乱混合,重新创建 ...

Mon Feb 28 09:31:00 CST 2022 0 1263
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM