Redis本身主要面向类 Unix 环境开发,Windows 并不是官方长期维护的主要平台。因此,在 Windows 系统上安装 Redis 时,通常需要根据开发环境、版本要求以及是否需要 Linux 兼容能力来选择方案。实际使用中比较常见的方式包括 WSL 安装 Redis、Docker 部署 Redis,以及使用 Windows 原生兼容版本 三种实现路径。
一、方案一:通过 WSL 安装 Redis
WSL(Windows Subsystem for Linux)可以让 Windows 直接运行 Linux 环境。对于需要在 Windows 上进行 Redis 开发,同时又希望尽量接近 Linux 服务器运行环境的场景,这种方式比较合适。
1. 安装 WSL
以管理员身份打开 PowerShell,执行:
PowerShellwsl --install
安装完成后根据提示重启 Windows。重新进入系统后,可以通过以下命令确认 WSL 是否正常:
PowerShellwsl --status
也可以查看已经安装的 Linux 发行版:
PowerShellwsl -l -v
如果系统中安装了 Ubuntu,可以直接进入:
PowerShellwsl
2. 更新软件源
进入 Ubuntu 后执行:
Bashsudo apt update
然后安装 Redis:
Bashsudo apt install redis-server
安装结束后检查 Redis 版本:
Bashredis-server --version
如果能够看到类似下面的信息,说明 Redis 已经安装成功:
Redis server v=7.x.x
3. 启动 Redis
可以直接运行:
Bashsudo service redis-server start
查看运行状态:
Bashsudo service redis-server status
部分 WSL 环境也可以使用:
Bashsudo systemctl start redis-server
具体是否支持 systemctl,取决于当前 WSL 配置。
4. 测试 Redis
启动 Redis 后执行:
Bashredis-cli
进入 Redis 命令行后测试:
127.0.0.1:6379> SET name redis OK 127.0.0.1:6379> GET name "redis"
能够正常写入和读取数据,说明 Redis 服务工作正常。
5. WSL 方案的特点
WSL 的优势在于运行环境更加接近实际 Linux 服务器。开发人员在 Windows 本地编写代码,部署到 Linux 服务器时,Redis 的配置和行为通常更容易保持一致。
不过,WSL 毕竟增加了一层 Linux 子系统,对于只需要简单运行 Redis 的用户来说,配置过程相对复杂一些。
二、方案二:通过 Docker 安装 Redis
如果电脑已经安装 Docker Desktop,使用 Docker 运行 Redis 通常是非常方便的选择。
这种方式最大的特点是环境隔离。Redis 不需要直接安装到 Windows 系统中,而是运行在独立的容器里。
1. 确认 Docker 是否正常
打开 PowerShell 或 CMD:
Bashdocker --version
然后检查 Docker 是否能够正常运行:
Bashdocker info
如果能够正常返回 Docker 服务信息,就可以创建 Redis 容器。
2. 拉取 Redis 镜像
执行:
Bashdocker pull redis
如果项目需要固定版本,也可以指定具体版本,例如:
Bashdocker pull redis:7
生产项目更建议明确指定版本,而不是长期依赖 latest 标签,这样可以减少镜像更新导致的环境变化。
3. 创建 Redis 容器
执行:
Bashdocker run -d ^ --name redis ^ -p 6379:6379 ^ redis:7
如果使用 PowerShell,也可以写成单行:
PowerShelldocker run -d --name redis -p 6379:6379 redis:7
查看容器:
Bashdocker ps
如果能够看到 Redis 容器,并且端口映射显示为:
0.0.0.0:6379->6379/tcp
说明 Redis 已经启动。
4. 使用 Redis CLI
可以直接进入 Redis 容器:
Bashdocker exec -it redis redis-cli
然后执行:
127.0.0.1:6379> SET username admin OK 127.0.0.1:6379> GET username "admin"
5. 配置 Redis 数据持久化
仅仅运行容器时,Redis 数据主要存储在容器内部。如果删除容器,数据也可能随之丢失。
开发环境如果希望保留 Redis 数据,可以创建数据卷:
Bashdocker volume create redis-data
然后重新创建容器:
PowerShelldocker run -d --name redis ` -p 6379:6379 ` -v redis-data:/data ` redis:7 ` redis-server --appendonly yes
其中:
-v redis-data:/data
用于挂载 Docker 数据卷。
redis-server --appendonly yes
则启用 AOF 持久化。
查看数据卷:
Bashdocker volume ls
这种方式比较适合需要反复创建、删除 Redis 环境的开发场景。
三、方案三:使用 Windows 原生 Redis 兼容实现
如果不希望安装 WSL,也不使用 Docker,可以考虑 Windows 原生 Redis 兼容实现。
需要注意的是,Redis 官方并不将 Windows 作为主要支持平台,因此网上一些教程中的 Windows Redis 安装包可能来自第三方项目、历史版本或社区维护版本。使用这类方案时,应特别注意软件来源、版本兼容性和安全问题。
常见做法是下载对应的 Windows Redis 兼容程序,将程序解压到指定目录。
例如:
D:Redis
目录中可能包含:
redis-server.exe redis-cli.exe redis.conf
1. 启动 Redis
打开 CMD,进入 Redis 目录:
cmdcd /d D:Redis
然后执行:
cmdredis-server.exe
如果配置文件存在,也可以:
cmdredis-server.exe redis.conf
看到 Redis 正常监听 6379 端口后,可以打开另一个 CMD 窗口。
2. 使用 Redis CLI
执行:
cmdredis-cli.exe
然后测试:
127.0.0.1:6379> SET test hello OK 127.0.0.1:6379> GET test "hello"
3. 设置 Windows 服务
如果使用的 Windows Redis 兼容实现支持服务安装,可以将 Redis 注册为 Windows 服务,从而实现系统启动时自动运行。
具体命令取决于所使用的 Redis Windows 实现版本,因此不要直接套用不同项目的服务注册参数。
对于个人开发环境而言,手动启动 Redis 往往已经足够;如果是团队开发环境,则应统一安装包版本和配置方式。
四、三种 Redis 安装方式如何选择
三种方式解决的是同一个问题,但适用场景并不完全相同。
| 安装方式 | 环境接近 Linux | 配置难度 | 隔离性 | 适合场景 |
|---|---|---|---|---|
| WSL | 高 | 中等 | 较好 | Linux 开发环境模拟 |
| Docker | 高 | 较低 | 高 | 项目开发、测试、团队环境 |
| Windows 原生兼容实现 | 较低 | 低 | 一般 | 简单本地开发 |
如果主要开发 Java、Go、Python、Node.js 等后端项目,并且最终应用部署在 Linux 服务器,WSL 和 Docker 都比较适合。
如果团队已经使用 Docker 管理 MySQL、Nginx、RabbitMQ、MongoDB 等基础服务,那么 Redis 也建议统一放进 Docker 环境,这样可以减少本机环境差异。
如果只是临时测试 Redis 命令,并且不希望额外安装 WSL 或 Docker,则可以考虑 Windows 原生兼容实现。
五、Redis安装完成后的常见配置
Redis 默认使用 6379 端口,可以通过以下命令测试端口是否能够访问:
PowerShell:
PowerShellTest-NetConnection 127.0.0.1 -Port 6379
如果返回:
TcpTestSucceeded : True
说明 TCP 连接正常。
也可以使用 Redis CLI:
Bashredis-cli ping
正常情况下返回:
PONG
这是判断 Redis 服务是否正常工作的一个非常直接的方法。
六、配置Redis密码
开发环境中的 Redis 如果只监听本机,一般风险相对较低,但涉及局域网访问或生产环境时,应根据实际安全要求进行认证和网络隔离。
Redis 配置文件中可以设置密码,例如:
requirepass your_password
修改配置后重启 Redis。
连接时可以:
Bashredis-cli -a your_password
也可以进入 CLI 后执行:
AUTH your_password
需要注意,密码不应该直接写进代码仓库。应用程序中建议通过环境变量、配置中心或其他安全配置机制提供 Redis 凭据。
七、Windows下Redis连接失败的排查方法
1. 检查Redis是否启动
首先执行:
Bashredis-cli ping
如果出现无法连接 127.0.0.1:6379 的错误,首先检查 Redis 服务是否正在运行。
Docker 环境可以执行:
Bashdocker ps
WSL 环境可以执行:
Bashsudo service redis-server status
Windows 原生环境则检查 Redis 服务窗口是否存在。
2. 检查6379端口
PowerShell:
PowerShellnetstat -ano | findstr :6379
如果没有任何结果,说明当前可能没有程序监听 6379 端口。
如果发现其他程序占用了该端口,也可以修改 Redis 端口,例如:
port 6380
然后客户端连接:
Bashredis-cli -p 6380
3. 检查Docker端口映射
Docker 中需要确保执行容器时存在:
-p 6379:6379
可以使用:
Bashdocker port redis
查看实际映射关系。
4. 检查防火墙和网络配置
如果 Redis 只供本机程序使用,建议尽量监听本机地址,不要为了远程连接而随意开放 Redis 端口。
尤其需要避免将未认证的 Redis 服务直接暴露到公网。
八、Java项目连接Windows上的Redis
以 Spring Boot 项目为例,如果 Redis 在本机运行,通常可以配置:
YAMLspring: data: redis: host: 127.0.0.1 port: 6379 password: your_password
如果 Redis 没有设置密码,可以根据项目实际配置省略密码项。
使用 Docker 时,只要 Redis 端口已经映射到 Windows 主机,Java 应用通常可以通过:
127.0.0.1:6379
进行连接。
如果 Java 应用本身也运行在 Docker 容器中,则情况不同。此时不应该简单地认为 127.0.0.1 指向 Redis 容器,因为容器中的 localhost 指的是当前容器自身。更合理的方式是让应用容器和 Redis 容器加入同一个 Docker 网络,并使用 Redis 容器名称作为连接地址。
例如:
spring: data: redis: host: redis port: 6379
这也是 Docker 环境中非常重要的网络配置区别。
九、开发环境中的版本管理建议
Redis 安装完成后,不要只关注“能不能启动”,还应该关注开发环境的一致性。
例如团队成员分别使用:
Redis 6.x Redis 7.x Windows Redis旧版本 Docker Redis新版本
即使基础命令大多数情况下可以正常运行,也可能因为版本、配置或持久化机制差异产生环境问题。
因此,项目最好明确记录 Redis 版本。例如 Docker 项目可以在配置文件中固定:
YAMLservices: redis: image: redis:7 ports: - "6379:6379"
进一步还可以固定到具体的小版本,以提高环境复现能力。
十、总结
Windows 系统安装 Redis 并不只有一种路径。
WSL 更适合希望获得接近 Linux 开发环境的开发人员;Docker 更适合现代项目开发、测试和团队协作;Windows 原生 Redis 兼容实现 则适合对环境要求简单、只需要本地运行 Redis 的场景。
如果项目最终部署在 Linux 服务器,建议优先考虑 WSL 或 Docker,让本地 Redis 环境尽可能接近实际部署环境。无论选择哪种方案,安装完成后都应该通过 redis-cli ping、端口检查以及实际读写测试确认服务状态,同时合理配置密码、端口和持久化策略,避免只完成“安装”而忽略运行安全和数据可靠性。