目标:用 Go 语言实现 Redis 的核心数据结构操作(阶段 A),并通过设计题与实战模板(阶段 D)掌握面试要点与实战落地能力,面向后端/分布式系统岗位。
目录结构(CamelCase 命名):
- StageA/:核心数据类型与基础操作(Go 实现示例与练习)
- StageD/:设计题、实战练习与面试强化模版(Go 实现骨架)
环境与依赖
- Go 1.20 及以上
- Redis 7.x 以上
- go-redis/redis 客户端(推荐 v8.x/v9.x 分支,确保 Context、管道、事务 API 支持)
快速开始
- 启动 Redis
docker run --name redis-study -p 6379:6379 redis:7-alpine
- 初始化 Go 项目
go mod init github.com/yourname/redis-study go get github.com/go-redis/redis/v8
- 运行 StageA 演示
go run ./StageA/Main.go
- 运行 StageD 模板
go run ./StageD/Main.go
说明
- StageA:覆盖 String、Hash、List、Set、ZSet、HyperLogLog、Geo 等数据结构的基本操作,以及 Pipeline/事务的基本用法。
- StageD:提供缓存、排行榜、限流、UV 统计、就近定位等实战模板的 Go 实现骨架与设计要点,帮助你在面试中给出可落地的实现思路。
redis-study/
├── README.md # 主说明文件
├── StageA/ # 阶段 A:核心数据类型
│ ├── README.md
│ ├── CoreDataTypes.md
│ ├── GoExamples.md
│ ├── RunAndTest.md
│ └── Main.go # 运行入口
├── StageD/ # 阶段 D:设计题与实战
│ ├── README.md
│ ├── Overview.md
│ ├── CachePattern.md
│ ├── LeaderboardPattern.md
│ ├── LimiterPattern.md
│ ├── UVPattern.md
│ ├── GeoPattern.md
│ ├── DesignTemplates.md
│ ├── Exercises.md
│ ├── RunningTips.md
│ └── Main.go # 运行入口
├── scripts/ # 辅助脚本
│ └── build.sh # 构建脚本
└── go.mod # Go 模块文件