Node-Redis 初学者教程
本教程基于 Node-Redis 官方文档 编写,面向第一次在 Node.js、TypeScript 项目中使用 Redis 的开发者。
Node-Redis 是 Redis 官方推荐的 Node.js 客户端之一。教程中的“Redis”指服务端,“Node-Redis”指 Node.js 程序连接 Redis 所使用的客户端库。
本教程采用的项目约定
当前项目的源码使用 TypeScript 和 import / export,但 tsconfig.json 中的模块输出为 CommonJS:
{
"compilerOptions": {
"module": "commonjs"
}
}
因此示例统一写成:
import { createClient } from "redis";
运行时仍可使用项目当前的方式:
ts-node example.ts
这不代表项目已经切换为原生 ESM;import 会先由 TypeScript 转换成 CommonJS。
学习路线
- 为什么需要 Redis
- 安装 Redis 与第一个示例
- 连接配置与客户端生命周期
- 键设计与常用数据类型
- 过期时间与 Cache-Aside 缓存
- 命令 API、返回值与二进制数据
- 事务、WATCH 与自动流水线
- SCAN 与批量处理
- Pub/Sub、阻塞命令与连接池
- 错误处理、重连与安全退出
- 客户端缓存
- Sentinel 与 Cluster 入门
- Lua 脚本与 Redis Functions
- 常见业务实战模式
- 生产环境最佳实践清单
- Linux、Ubuntu 运维与日常维护
建议的学习方式
- 先完成第 1~5 章,掌握最常见的缓存用法。
- 再学习第 6~10 章,理解并发、连接和故障处理。
- Sentinel、Cluster、脚本和客户端缓存属于进阶内容,不必在第一个项目中全部使用。
- 每完成一章,都使用
redis-cli观察真实数据,而不是只看 Node.js 输出。
版本说明
Node-Redis 的 API 会随大版本演进。本教程使用当前官方文档中的现代 Promise API,并采用 close() / destroy() 等新命名。开始项目时应记录实际版本:
npm list redis
同时查看 Redis 服务端版本:
redis-cli INFO server
不要只根据网上旧文章复制 quit()、回调 API 或旧版事件名称。