redis 源码讲解开篇

2 篇文章 0 订阅

嗨,终于开始《redis源码解读》系列文章 – 开篇。大概说的下我的情况,工作中写的都是php代码,算是完全一个PHPer;但在大学学习编程的入门是 C语言,对C还算是喜欢。说来惭愧,工作中一直写的是php,入门的语言拿来荒废了,工龄越长,才越来体会到C的重要性。但还好,C还能看懂,顺便把心中积压已久的想法去执行下,一来可以练习查看源代码能力,还有希望可以给想深入学习redis源码的伙伴一些独特的帮助,或让想学习数据结构的同学有个很好的学习资料。

简单介绍下,我要如何来解读redis源码。我会进行源码的拆分,把它们可以独立出来的代码都一个一个剥离出来,然后来单独的运行测试与讲解它们。

如果你对redis的代码结构略知一二的话,你也许大概知道redis源码层次是挺分明的。根据资料,我们将redis做如下分解:

  1. 数据结构
  2. 内存编码数据结构
  3. 数据类型
  4. 数据库
  5. 客户端和服务器
  6. 多机功能
    redis 底层数据结构

为什么这么进行划分的呢,请看 如何阅读 Redis 源码 这篇博文,你就能明白了。如果还想更加系统的了解 redis 实现原理,推荐看<<Redis设计与实现>>。下面是数据结构所包函的文件,及文件的内容:

  1. Redis 源码中, 各个数据结构的实现文件:
文件内容
sds.h 和 sds.cRedis 的动态字符串实现
dict.h 和 dict.cRedis 的字典实现
redis.h 中的 zskiplist 结构和 zskiplistNode 结构, 以及 t_zset.c 中所有以 zsl 开头的函数, 比如 zslCreate 、 zslInsert 、 zslDeleteNode ,等等Redis 的跳跃表实现
hyperloglog.c 中的 hllhdr 结构, 以及所有以 hll 开头的函数Redis 的 HyperLogLog 实现

在这,只罗列出数据结构相关的所有文件,想查看其余部分,请继续阅读 如何阅读 Redis 源码 这篇博文。数据结构是我们了解redis实现的第一步,通过剥离出它们,并让其单独运行起来,从而让我们有个比较真实的体会。
开篇博文,内容相对简短,待后续完善。我会在此文的后面罗列出此系列的文章目录。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值