热门

从零构建 Redis

Build your own Redis

Redis 是世界上最流行的内存数据库之一。在这个挑战中,你将从一个简单的 TCP 服务器开始,逐步实现完整的 Redis 协议,包括字符串操作、列表、集合、事务、主从复制等核心功能。

支持的语言

ruRust
goGo
pyPython
cC
cpCpp
jaJava
tyTypescript
挑战进度97 阶段

预计时间

20-40 小时

难度范围

入门 - 困难

已有学习者

2,000+

技术标签

TCP协议内存数据库持久化

你将学到什么?

  • 理解 TCP 服务器的工作原理
  • 掌握 RESP 协议的解析与生成
  • 实现高性能的内存数据结构
  • 理解主从复制与数据持久化

前置要求

  • 熟悉至少一门编程语言
  • 了解基本的网络编程概念
  • 了解基础数据结构

学习路径

42 个阶段

基础阶段

(7)
1

绑定端口

2

响应 PING 命令

3

处理多次 PING

4

处理并发客户端

5

实现 ECHO 命令

6

实现 SET & GET

7

键过期机制

Lists

(7)
1

创建列表

2

追加元素

3

列出元素

4

头部插入元素

5

查询列表长度

6

移除元素

7

阻塞式获取

Streams

(8)
1

TYPE 命令

2

创建 Stream

3

验证 Entry ID

4

自动生成 ID

5

查询 Stream

6

XREAD 单流

7

XREAD 多流

8

阻塞读取

Transactions

(7)
1

INCR 命令

2

MULTI 命令

3

EXEC 命令

4

空事务

5

命令队列

6

执行事务

7

DISCARD 命令

Replication

(8)
1

INFO 命令

2

复制 ID

3

发送握手

4

接收握手

5

RDB 传输

6

单副本同步

7

多副本同步

8

WAIT 命令

RDB Persistence

(5)
1

RDB 配置

2

读取键

3

读取字符串值

4

读取多个键

5

读取带过期的值

AI 演进导读

我们的 AI 引擎会将源码的 Git 演进历史可视化,带你从「第一行核心代码」开始, 逐步理解每个设计决策背后的思考过程。不只是知道「是什么」,更要理解「为什么」。