t_list.c — List 类型实现

源文件:src/t_list.c · 共 1755 行 C 代码

模块职责

quicklist + ziplist + linkedlist 三种编码。

文件头注释

/*
 * Copyright (c) 2009-Present, Redis Ltd.
 * 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).
 */

主要数据结构与函数

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

阅读路径建议

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