Redis

Redis源码剖析--双端链表sdlist

今天来分析Redis的一个基本数据结构–双端链表,其定义和实现主要在sdlist.h和sdlist.c文件中。其主要用在实现列表键、事务模块保存输入命令和服务器模块,订阅模块保存多个客户端等。

Redis源码剖析--动态字符串sds

Redis没有使用C语言的字符串结构,而是自己设计了一个简单的动态字符串结构sds。它的特点是:可动态扩展内存、二进制安全和与传统的C语言字符串类型兼容。下面就从源码的角度来分析一下Redis中sds的实现。(sds的源码实现主要在sds.c和sds.h两个文件中)

Redis源码剖析--内存分配

深受侯捷老师的《STL源码剖析》一书的影响,在该书中开篇就对STL的空间配置器进行了一个详尽的介绍。以应用的角度而言,空间配置器是最不需要介绍的,它总是隐藏在一切组件的背后;可是,就源码分析而言,空间配置是最为关键的,也是分析源码之路的第一步!Redis在内存分配方面,仅仅是对系统的malloc/free做了一层简单的封装,然后加上了异常处理功能和内存统计功能。其实现主要在zmalloc.c和zmalloc.h文件中。

Redis源码剖析--源码结构解析

找工作那会儿,看了黄建宏老师的《Redis设计与实现》,对redis的部分实现有了一个简明的认识。在面试过程中,redis确实成为了面试官考核我的一个亮点,恰好以后的工作又与redis有着千丝万缕的联系,于是就想趁着毕业前的这段时间把redis的源代码研究一下,为以后的工作打个良好的基础。