Redis2.6源代码走读第004课:字典的实现01

这是Redis中我们碰到的第一个比较复杂的数据结构

字典部分预计共分三部分

第一部分, 也就是今天的视频, 是一个开场, 用手机录的, 把我自己对Redis中字典的设计逻辑给大家讲一讲

后两部分则才是真正的代码走读, 在代码层面细说字典的实现

今天的视频比较大, 时间却比较短。。并且录到最后一部分的时候手机内存满了。

总共两个视频文件, 第二个视频文件只有几十秒。

大家凑合看吧

视频下载地址

时间: 2024-12-09 20:12:33

Redis2.6源代码走读第004课:字典的实现01的相关文章

Redis2.6源代码走读第004课:字典的实现02

这一课从代码层面上讲了字典的具体实现 并讲解了字典的创建, 结点的插入, 以及字典扩容再散列的实现 视频下载地址

Redis2.6源代码走读第004课:字典的实现03

字典中其它API的实现.. 下一讲可能要等几天, 或许不用等, 取决于我的工作效率与热情. 因为在Redis的数据结构中, 截止字典, 已经把设计组织最清晰的那部分讲完了. 接下来的数据结构部分是互相纠缠的. 我需要时间去分析一下. 视频下载地址

Redis2.6源代码走读第007课:压缩列表01

压缩列表本身并不复杂, 但是它的实现很繁琐 这几天身体与灵魂均被掏空, 可能需要停更几天. 这一讲只讲了压缩列表本身是什么, 以及它的原理, 没有讲具体实现. 视频下载地址

Redis2.6源代码走读第007课:压缩列表02

身体被掏空了一星期, 前天终于挣扎着继续做这个代码走读 不得不说, 压缩列表的实现复杂程度还是超出了我的预计 破天荒的第一次, 我必须手动上注释, 才能防止自己迷失在代码里面. 今天还没有录制视频, 最近一直在做公司的事, 时间也比较紧, 所以今天只是把我经过注释的压缩列表部分的代码贴出来, 同时给出一个阅读建议 在学习压缩列表的过程中, 我也参考了黄健宏先生对Redis2.6源代码的注释, 发现了黄先生注释中的一个错误. 如下: unsigned char *ziplistFind(unsig

Redis2.6源代码走读第002课:简单动态字符串01

这一节和下一节将介绍Redis中对C语言字符串的封装 在Redis中, 这种字符串被称谓SDS, 也就是简单(s)动态(d)字符串(s) 也就是说, 从今天开始, 将逐步先介绍Redis底层的数据结构实现 视频下载地址:http://pan.baidu.com/s/1jIHElyI

字典树与01字典树

之前在做一道关于字符串匹配的题时,用到了字典树,但那时是用指针实现的,这次又遇到需要使用字典树这一结构的题,向学姐要了她的板子,学习了用数组实现的方法,对于解题而言,更为简短快速. 因为题目要求最大异或和,因此用的是01字典树,在字典树的基础上稍作修改. 以下为字典树和01字典树的普遍实现: 字典树 #include<iostream> #include<algorithm> using namespace std; struct Trie { static const int N

【sql: 练习题8】查询至少有一门课与学号为&quot; 01 &quot;的同学所学相同的同学的信息

题目:查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息 分析:我们可以先在student_score 表中 查找学号为01 的学生的学习记录,然后再查所有记录的course in 里面 就得到一个具有学生id的结果集,在查学生信息表,拿到学生信息 于是sql 有: SELECT * FROM student,    (SELECT DISTINCT student_score.studentid FROM student_score WHERE courseid IN 

rnnlm源代码分析(八)

系列前言 參考文献: RNNLM - Recurrent Neural Network  Language Modeling Toolkit(点此阅读) Recurrent neural network based language model(点此阅读) EXTENSIONS OF RECURRENT NEURAL NETWORK LANGUAGE MODEL(点此阅读) Strategies for Training Large Scale Neural Network  Language

34 py创建和使用字典 使用dict函数将序列(列表、元组)转换为字典 以及 字典的基本操作

第一课 创建和使用字典 # 创建和使用字典 # 我们以前讲过2种序列:1列表 2元组 # 共同点:都是通过索引引用元素值 # 不同点:列表是可读写的,元组是只读的 names = ["Bill", "Mike", "John", "Mary"] numbers = ["1234", "4321", "6789", "6543"] print(num