3. Redis 环境搭建:本地安装、Docker 部署与客户端工具
在 Testing 框架下进行缓存失效与错误码参数配置的实战之前,必须搭建一个稳定、可复现的 Redis 运行环境。本章覆盖三种主流搭建方式:本地原生安装(适用于开发机)、Docker 容器化部署(适用于 CI/CD 与测试隔离)、以及 客户端工具选型(用于验证连接与键值操作)。
3.1 本地 Redis 安装(macOS / Linux / Windows)
本地安装适合单机开发调试,无需容器编排。下表列出各操作系统推荐安装方式及关键命令:
| 操作系统 | 安装方式 | 核心命令 | 验证命令 |
|---|---|---|---|
| macOS | Homebrew | brew install redis |
redis-cli ping → PONG |
| Ubuntu / Debian | apt | sudo apt install redis-server |
systemctl status redis |
| CentOS / RHEL | yum / dnf | sudo yum install redis |
redis-cli ping |
| Windows | MSI 安装包 / WSL | 下载 .msi 或 wsl --install -d Ubuntu |
redis-cli ping |
避坑提示: 本地安装后默认绑定
127.0.0.1,且无密码。若需远程访问测试,务必修改 redis.conf 中的 bind 与 requirepass 字段。
3.2 Docker 部署 Redis(测试环境首选)
Docker 部署能实现环境一致性,尤其适合 Testing 框架下的参数化测试与快速销毁重建。以下为单节点与带密码的部署方式:
3.2.1 快速启动无密码实例
docker run -d --name redis-test \
-p 6379:6379 \
redis:7.2-alpine
3.2.2 带密码与持久化配置
docker run -d --name redis-secure \
-p 6379:6379 \
-v /data/redis:/data \
redis:7.2-alpine \
redis-server --requirepass TestPass123 --appendonly yes
3.2.3 Docker Compose 多实例(模拟主从或集群)
version: '3.8'
services:
redis-master:
image: redis:7.2-alpine
ports:
- "6379:6379"
command: redis-server --requirepass MasterPass
redis-replica:
image: redis:7.2-alpine
ports:
- "6380:6379"
command: redis-server --slaveof redis-master 6379 --masterauth MasterPass
depends_on:
- redis-master
注意: 在 Testing 框架中,建议每次测试前使用
docker rm -f redis-test 清理旧容器,避免脏数据干扰错误码参数验证。
3.3 Redis 客户端工具介绍
客户端工具用于连接、操作与监控 Redis 实例。根据使用场景分为 命令行、GUI 桌面工具 和 编程 SDK 三类:
| 类别 | 工具名称 | 适用场景 | 关键特性 |
|---|---|---|---|
| 命令行 | redis-cli | 快速验证、脚本集成 | 内建 --raw、--scan、--eval 参数 |
| GUI 桌面 | RedisInsight | 键值浏览、慢日志分析 | 支持集群拓扑、内存分析 |
| GUI 桌面 | Another Redis Desktop Manager | 轻量跨平台管理 | 支持 SSH 隧道、JSON 格式化 |
| 编程 SDK | redis-py / Lettuce / Jedis | Testing 框架集成 | 连接池、管道、事务支持 |
实战建议: 在 Testing 框架中优先使用
redis-cli 做环境健康检查,使用 redis-py 编写参数化测试用例。GUI 工具仅用于调试阶段的数据查看。
3.4 环境搭建架构总览
下图展示从本地开发到容器化测试的完整 Redis 环境拓扑,突出三种部署方式与客户端工具的交互关系:
3.5 环境验证清单
搭建完成后,执行以下步骤确认环境可用:
- 启动服务:本地
redis-server或 Dockerdocker start redis-test。 - 连通性测试:
redis-cli -h 127.0.0.1 -p 6379 ping返回PONG。 - 带密码测试:
redis-cli -a TestPass123 ping。 - 键值操作:
SET test_key hello→GET test_key→DEL test_key。 - 容器清理:
docker rm -f redis-test确保无残留。
测试框架集成提示: 在
conftest.py 或 setup_module 中调用 subprocess.run(["redis-cli", "ping"]) 作为前置条件检查,失败则跳过测试并输出明确错误信息。