3. Redis 安装与配置:Linux/Windows 安装、核心配置、启动与关闭、客户端连接

本章聚焦 Redis 在生产环境与开发环境中的安装部署、核心配置项解析、服务生命周期管理以及客户端连接验证。掌握这些基础操作是后续实现缓存读写分离架构的前提。

3.1 环境准备与版本选择

Redis 官方主要支持 Linux 和 macOS 系统,Windows 版本由 Microsoft 开源团队维护(非官方主线)。生产环境强烈建议使用 Linux 部署。

维度 Linux 部署(推荐) Windows 部署(开发/测试)
官方支持 完全支持,主线版本 社区维护,版本滞后
性能 原生高性能,epoll/kqueue 基于 IOCP,性能略低
生产可用性 高,广泛用于生产 不推荐生产使用
安装方式 源码编译 / 包管理器 MSI 安装包 / WSL
版本选择建议: 生产环境使用最新的稳定版(如 7.2.x 或 7.4.x),避免使用 RC 或 alpha 版本。Windows 开发环境建议通过 WSL2 运行 Linux 版 Redis,以获得更一致的体验。

3.2 Linux 安装 Redis

3.2.1 源码编译安装(通用方法)

# 1. 安装编译依赖
sudo apt-get update
sudo apt-get install -y gcc make libsystemd-dev

# 2. 下载并解压
wget https://download.redis.io/releases/redis-7.4.1.tar.gz
tar xzf redis-7.4.1.tar.gz
cd redis-7.4.1

# 3. 编译(使用 systemd 支持)
make BUILD_TLS=yes USE_SYSTEMD=yes

# 4. 安装到 /usr/local/bin
sudo make install

# 5. 创建配置和数据目录
sudo mkdir -p /etc/redis /var/lib/redis /var/log/redis
sudo cp redis.conf /etc/redis/

3.2.2 包管理器安装(快速部署)

# Ubuntu / Debian
sudo apt-get install -y redis-server

# CentOS / RHEL 8+
sudo dnf install -y redis

# 查看安装版本
redis-server --version
注意: 包管理器安装的 Redis 版本可能较旧。生产环境建议使用官方源码编译或 Redis Stack 以获得最新特性和安全补丁。

3.3 Windows 安装 Redis

3.3.1 使用 WSL2(推荐)

# 在 PowerShell 中执行
wsl --install -d Ubuntu

# 进入 WSL 后,按 Linux 方式安装
sudo apt update
sudo apt install -y redis-server

# 启动 Redis
sudo service redis-server start

3.3.2 使用 MSI 安装包

  1. 访问 Microsoft Archive Redis Releases 下载最新 MSI。
  2. 双击安装,默认安装为 Windows 服务。
  3. 安装后可通过 services.msc 管理 Redis 服务。
Windows 路径说明: 默认安装路径为 C:\Program Files\Redis,配置文件为 redis.windows.conf,数据目录为 C:\ProgramData\Redis。

3.4 redis.conf 核心配置解析

redis.conf 是 Redis 的行为中枢。以下为生产环境最关键的配置项分类说明。

配置分类 配置项 默认值 生产建议
网络 bind 127.0.0.1 -::1 内网 IP 或 0.0.0.0(需配合防火墙)
网络 port 6379 默认即可,或改为非标准端口
网络 protected-mode yes 生产保持 yes,配合 bind 使用
安全 requirepass (空) 必须设置强密码
持久化 save 900 1 300 10 60 10000 按业务调整 RDB 快照频率
持久化 appendonly no 生产建议 yes(AOF 持久化)
内存 maxmemory 0(无限制) 设置为物理内存的 60%-80%
内存 maxmemory-policy noeviction 建议 allkeys-lru 或 volatile-lru
日志 loglevel notice 生产 notice,调试可改为 verbose
日志 logfile (空,stdout) 指定文件路径,如 /var/log/redis/redis.log

3.4.1 最小化生产配置示例

# /etc/redis/redis.conf
bind 192.168.1.100
port 6379
protected-mode yes
daemonize yes
requirepass YourStrongPassword123!
maxmemory 4gb
maxmemory-policy allkeys-lru
appendonly yes
appendfsync everysec
save 900 1
save 300 10
save 60 10000
logfile /var/log/redis/redis.log
dir /var/lib/redis
配置检查清单:
  • ✅ bind 绑定内网 IP,不暴露公网
  • ✅ requirepass 设置强密码(至少 16 位,含特殊字符)
  • ✅ maxmemory 设置上限,防止 OOM
  • ✅ appendonly yes 开启 AOF 持久化
  • ✅ logfile 指定日志路径,便于排查

3.5 启动与关闭 Redis

3.5.1 启动方式

启动方式 命令 适用场景
前台启动 redis-server /etc/redis/redis.conf 调试、查看启动日志
后台启动 redis-server /etc/redis/redis.conf --daemonize yes 生产环境(或配置文件中设置)
systemd 管理 sudo systemctl start redis Linux 生产环境推荐
Docker 启动 docker run -d --name redis -p 6379:6379 redis:7.4 容器化部署

3.5.2 关闭方式

# 方式一:使用 redis-cli 安全关闭(推荐)
redis-cli -a YourPassword SHUTDOWN

# 方式二:使用 systemd
sudo systemctl stop redis

# 方式三:强制 kill(不推荐,可能导致数据丢失)
sudo kill -9 $(cat /var/run/redis_6379.pid)
SHUTDOWN 命令说明: 执行 SHUTDOWN 时,Redis 会先执行持久化(RDB 快照 + AOF 刷盘),然后正常退出。使用 kill -9 会跳过持久化,可能导致数据丢失。

3.6 客户端连接验证

3.6.1 redis-cli 命令行连接

# 连接本地 Redis
redis-cli

# 连接远程 Redis(指定 IP 和端口)
redis-cli -h 192.168.1.100 -p 6379

# 带密码连接
redis-cli -h 192.168.1.100 -p 6379 -a YourPassword

# 连接后测试
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET key "Hello Redis"
OK
127.0.0.1:6379> GET key
"Hello Redis"

3.6.2 连接状态验证

# 查看连接信息
redis-cli CLIENT LIST

# 查看 Redis 运行状态
redis-cli INFO server

# 测试延迟
redis-cli --latency -h 192.168.1.100 -p 6379
连接排障三步法:
  1. 检查 bind 配置是否允许客户端 IP 访问
  2. 检查防火墙是否放行 6379 端口
  3. 检查 protected-mode 是否阻止了非回环地址连接

3.7 安装与连接架构总览

下图展示了从安装部署到客户端连接的完整链路,帮助理解各组件之间的关系。

Redis 安装与连接架构图 Redis 安装部署与客户端连接架构 安装方式 源码编译 包管理器 Docker 容器 Windows MSI / WSL Redis Server redis.conf 配置加载 端口监听 (默认 6379) 持久化 (RDB/AOF) 客户端连接 redis-cli 命令行 编程语言客户端 RedisInsight GUI 连接池 / 哨兵 安装方式 → Redis Server(加载配置、监听端口)→ 客户端通过多种方式连接验证

3.8 常见安装与连接问题排查

问题现象 可能原因 解决方案
redis-server 命令找不到 未安装或未加入 PATH 执行 sudo make install 或手动添加软链接
连接被拒绝 (Connection refused) Redis 未启动或端口未监听 检查 ps aux | grep redis,确认进程存在
连接超时 (Timeout) 防火墙拦截或 bind 配置限制 检查防火墙规则,确认 bind 包含客户端 IP
NOAUTH 错误 需要密码但未提供 使用 -a 参数或 AUTH password 命令
MISCONF 错误 持久化失败或磁盘空间不足 检查磁盘空间,修复持久化配置
生产环境安装检查清单:
  • ✅ 使用稳定版 Redis(非 RC)
  • ✅ 配置文件权限设置为 640,属主为 redis 用户
  • ✅ 数据目录权限设置为 750,属主为 redis 用户
  • ✅ 设置 requirepass 并妥善保管密码
  • ✅ 开启 appendonly yes 保障数据安全
  • ✅ 配置 maxmemory 防止内存溢出
  • ✅ 使用 systemd 管理 Redis 服务,设置开机自启

完成安装与配置后,Redis 服务即可稳定运行。下一阶段将深入 Redis 的数据结构与核心命令,为构建缓存读写分离架构打下坚实基础。