Redis是一种基于ANSI C 编写的一种NoSQL内存型数据库。其源码十分简洁,在2万行左右。在知乎上瞎逛准备找点源码看看时,碰到了了几个前辈大力安利Redis。之前一直在LeetCode上写一些小的玩具,对于大型开源项目并没有多大的认识,希望通过这次对于源码的阅读,能够对各个方面都有些了解吧。PS 参考用书是黄健宏老师的《Redis 设计与实现》,展开内容也是大致围绕书本的。源码基于黄老师的 中文注释 3.0版本。
首先,先探讨Redis的底层数据结构,这些结构对于用户来说是不可见的,他们封装组成了对用户课件的Redis Object对象。这些底层结构分别是SDS(Simple Dynamic String)--简单动态字符串,链表(adlist),字典(Dict),跳跃表(skip-list),整数集合(intset)以及压缩列表(ziplist)。
下一篇文章将从SDS的源码分析。