Skip to content

insaneXs/redis

 
 

Repository files navigation

## Redis源码阅读计划  
本项目是参考《Redis设计与实现》一书,对Redis源码进行解读。为了和书中第一版保持一致,采用V3.0版本的源码作为基础。

## 已阅读源码
### 数据结构部分
- 简单动态字符串 sds.h SDS数据结构介绍
- 链表 adlist.h  链表数据结构介绍
- 字典 dict.h 字典数据结构介绍  
- 跳跃表 redis.h / t_zset.c 跳跃表数据结构及创建节点过程介绍  
- 整数集合 intset.h 整数集合数据结构介绍 
- 压缩列表 ziplist.h / ziplist.c 压缩列表相关编码方式  
- 对象 redis.h 对象数据结构介绍

### 单机数据库  
- 数据库 redis.h 数据库数据结构介绍  
- 通知功能实现 notify.c  keyspace/eventsapce通知说明 
- RDB持久化 rdb.h / rdb.c RDB持久化实现  
- AOF持久化 aof.c AOF持久化实现  
- redis服务器启动流程、时间循环 ae.h / ae.c / redis.h / redis.c  
- 客户端 redis.h  / networking.c

### 多机数据库  
- 复制 redis.h / replication.c  复制流程/命令处理
- 哨兵 redis.h / sentinel.c 哨兵启动流程/自动发现/定时任务/故障转移  
- 集群 redis.h / cluster.c 集群启动/节点发现/集群消息通信/故障转移  

### 独立部分的功能实现  
- 订阅/发布 pubsub.c
- 事务 multi.c
- lua脚本 scripts.c

About

Redis v3.0源码阅读计划

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 79.3%
  • Tcl 16.3%
  • Ruby 2.6%
  • Objective-C 0.9%
  • Shell 0.5%
  • Makefile 0.3%
  • Other 0.1%