server.c — 主服务器与命令分派

源文件:src/server.c · 共 8290 行 C 代码

模块职责

服务器入口、命令表、事件循环驱动、配置加载。8K+ 行代码核心。

文件头注释

/*
 * Copyright (c) 2009-Present, Redis Ltd.
 * All rights reserved.
 *
 * Copyright (c) 2024-present, Valkey contributors.
 * All rights reserved.
 *
 * Licensed under your choice of (a) the Redis Source Available License 2.0
 * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the
 * GNU Affero General Public License v3 (AGPLv3).
 *
 * Portions of this file are available under BSD3 terms; see REDISCONTRIBUTIONS for more information.
 */

主要数据结构与函数

  • 数据结构:见 src/server.h 同名头文件
  • 关键函数:通过 grep -nE '^(void|int|robj\*|sds|list|dict|client|server)' src/server.c 检索

阅读路径建议

  1. 先看 server.h 头文件了解对外接口
  2. 再读本文件顶部 #include 列表确认依赖
  3. ^[a-z_]+Init\( 类入口函数作为切入点