资讯动态

Win11 下 Redis 安装与配置完整指南:从解压到注册服务

发布时间:2026/9/9 19:30:25 来源:尧图企业网站定制
作为一个常年混在Windows环境下写代码的人Redis 这关是绕不过去的。尤其是刚换到 Win11想在本机装个 Redis 练手或者做本地缓存你会发现官方下载页根本不提供 Windows 安装包网上搜到的教程又老又碎很多步骤照着敲就是起不来。这篇文章我把 Win11 下安装 Redis 的完整流程、注册成服务自动启动、常用配置项调整、以及可视化客户端连接全部过一遍把我自己踩过的坑和验证过的命令都放在里面。适合刚接触 Redis 想本地跑通的新手也适合在 Windows 开发机上需要稳定 Redis 服务、不想折腾虚拟机的老手。1. 安装前的准备与方案选型1.1 为什么 Windows 上装 Redis 会这么纠结Redis 官方其实一直不提供 Windows 原生版本官方文档里写得明明白白它是在 Linux 上设计和优化的。所以在官网下载页面你能看到的只有 Linux、macOS 这些平台的安装包。但现实是很多开发者本地电脑是 Windows尤其公司发的开发机基本都是 Win11项目代码跑在本地中间件也想在本地起一个这时候就必须想办法在 Windows 上把 Redis 跑起来。这也导致了一个经典问题网上一搜“redis 下载”“windows 安装 redis”出来的版本五花八门有老掉牙的 2.x、3.x也有各种来路不明的打包版本。如果选错了版本或者配置不当后面连客户端、做数据持久化、注册系统服务都会出幺蛾子。所以安装之前先想清楚你打算用哪种方式跑 Redis这会直接影响你后续的排查路径。1.2 三种主流安装方案横向对比目前 Win11 环境下跑 Redis主流方案主要有三种Windows 原生移植版、WSLWindows Subsystem for Linux、Docker Desktop。我列个表格直接对比一下对比维度Windows 原生移植版WSL 方案Docker Desktop 方案安装难度最低解压即用中等需要启用 WSL 并安装发行版中等偏高需要安装 Docker Desktop 并配置 WSL2版本更新速度滞后常用版本停留在 5.x快可安装官方最新版快镜像与官方版本同步资源占用低一个进程搞定中等需要常驻子系统进程较高Docker 虚拟机占用内存明显与生产环境一致性一般Windows 与 Linux 行为有差异高几乎就是 Linux 环境高容器化部署与生产贴近对新手友好度最友好需要了解 Linux 命令需要理解容器基本概念适合场景本地开发、学习、快速联调追求与线上一致、使用新特性多实例、主从集群、容器化实验从表里能看出来没有绝对最好的方案只有最合适的方案。如果你只是要在本地起一个 Redis 给项目联调用那 Windows 原生移植版绝对是最省事的这也是这篇文章重点讲的方案。1.3 我个人在不同场景下的选型建议说句实在话我自己的选择是分场景的。日常写业务代码、调试接口的时候我直接用 Windows 原生移植版一条命令启动用完关掉干净利落。但要是这个项目对 Redis 版本有新特性要求或者需要严格复刻生产环境的配置和行为我会改用 WSL 里的 Redis因为 Linux 上才是最“正宗”的 Redis。而如果是想研究 Redis 集群、主从复制、哨兵这些架构层面的东西我会上 Docker 拉官方镜像几分钟就能搭出一套多节点环境。所以如果你现在的诉求是“能在 Win11 上装一个 Redis 用起来”不用纠结直接看第二章用 Windows 原生移植版是最快的一条路。如果后面深入了再考虑其他方案这不冲突。2. Win11 下安装 Redis 的逐步实操2.1 下载 Windows 版 Redis 安装包先说下载。网上流传比较广、也比较靠谱的 Windows 版 Redis 是 GitHub 上的 tporadowski/redis 项目它维护了基于 Redis 5.0.14 的 Windows 移植版本。目前这个项目提供的安装文件是 zip 压缩包不需要走安装向导解压就能用这对 Windows 环境来说非常友好。具体操作是打开 GitHub 上 tporadowski/redis 仓库的 Releases 页面找到最新发布的版本下载 Redis-x64-5.0.14.1.zip 这个文件。这里注意一下下载的时候不要贪新认准这个项目下的稳定发布版本就行。网上还有别的第三方编译版本我试过几个有的缺少动态链接库有的注册服务的时候直接失败不太推荐。下载完 zip 之后解压到一个固定的目录。我建议把路径设得简单一点比如 D:\redis不要放在中文路径或者带空格的路径下因为后续注册 Windows 服务、配置持久化目录的时候路径越简单越不容易出问题。2.2 解压后的目录结构说明解压完成后打开 D:\redis 目录你会看到一堆文件其中有几个特别重要我先逐个说清楚redis-server.exe服务端主程序启动 Redis 就是运行它。redis-cli.exe命令行客户端用来连接本机或远程 Redis 实例。redis.windows.confRedis 的主配置模板手动启动服务时默认读取的配置文件。redis.windows-service.conf一个专门给 Windows 服务用的配置文件内容比主配置精简注册服务时会用到。redis-benchmark.exe性能测试工具压测 Redis 时可以用它。redis-check-aof.exe / redis-check-rdb.exe数据文件检查修复工具用来修复 AOF 或 RDB 文件。这里有个小细节容易踩坑很多教程只让你双击 redis-server.exe看不到 redis.windows-service.conf 这个文件的存在。等你后面想注册成系统服务用命令 redis-server --service-install redis.windows.conf 去装很容易遇到服务配置文件读取异常的问题。正确的做法是注册服务时用 redis.windows-service.conf我后面第三章会专门说。2.3 第一次启动 Redis 并在命令行验证解压完先别急着改配置我们先跑一次验证这个版本在你的 Win11 上能正常启动。打开命令提示符或者 PowerShell切换到 Redis 解压目录cd D:\redis然后启动服务端redis-server.exe启动成功后你会看到一段 Redis 的 ASCII 艺术字标志以及类似这样的输出[12345] 15 May 09:00:00.123 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server.exe /path/to/redis.conf [12345] 15 May 09:00:00.123 * Running modestandalone, port6379. [12345] 15 May 09:00:00.123 # Server initialized [12345] 15 May 09:00:00.123 * Ready to accept connections看到 “Ready to accept connections” 就说明 Redis 已经在 6379 端口跑起来了。这个窗口先不要关另开一个命令行窗口进到同一个目录执行redis-cli.exe ping这时候如果返回PONG说明客户端能正常连接到服务端安装基本成功。再试一下最简单的键值写入和读取redis-cli.exe set name hello-redis redis-cli.exe get name能看到 “hello-redis” 返回说明读写链路也是通的。2.4 确认端口监听状态为了确保 Redis 确实在监听并且没有被防火墙或者其他程序拦截可以再用系统命令确认一下端口状态netstat -ano | findstr 6379正常情况下会看到一条 TCP 监听记录比如TCP 127.0.0.1:6379 0.0.0.0:0 LISTENING 12345最后一列是进程 PID你可以在任务管理器里确认这个 PID 对应的是 redis-server.exe。如果你的 6379 端口被其他程序占用这条命令输出的 PID 就不是 Redis 进程这时候需要额外处理我后面第 6 章的常见问题里会详细讲。3. 让 Redis 在 Win11 后台常驻注册为 Windows 服务3.1 为什么建议注册成 Windows 服务第一次手动启动 Redis 虽然简单但有个现实问题命令行窗口一关Redis 就停了。而且每次开机都要手动画个窗口去启动非常影响体验。尤其你本地有项目依赖 Redis 的话忘记启动服务项目一启动就报连接失败很让人心烦。所以第二步我会强烈建议把 Redis 注册成 Windows 服务。这样一来有四个好处一是开机后 Redis 自动在后台运行不用手动管二是服务不会占用命令行窗口没有多余的黑窗口三是服务掉了之后可以在服务管理器里立刻重启也可以配置失败自动重启四是可以统一用 Windows 服务管理工具控制启停方便多了。3.2 注册服务的完整命令注册 Redis 服务需要管理员权限。在 Win11 上点击开始菜单输入 cmd右键选择“以管理员身份运行”。进入 Redis 解压目录cd D:\redis然后执行redis-server.exe --service-install redis.windows-service.conf --loglevel verbose执行成功后会提示Redis successfully installed as a service.这里解释一下这条命令的几个关键点。--service-install 表示安装服务后面跟的 redis.windows-service.conf 是指定服务启动时读取的配置文件不能用 redis.windows.conf。--loglevel verbose 是让服务在日志中输出更详细的运行信息方便排错。注册成功后可以在服务管理器里看到名为 Redis 的服务。Win11 查看方式按 Win R输入 services.msc回车在服务列表里找到 Redis。3.3 服务的启动、停止与卸载注册完服务后启动和停止可以通过两个途径控制。第一种是命令行方式在管理员命令行执行redis-server.exe --service-start redis-server.exe --service-stop第二种是 Windows 服务管理器方式选中 Redis 服务右键点击“启动”或“停止”。除此之外还有几个命令也很有用。查看服务运行状态sc query Redis卸载服务redis-server.exe --service-uninstall这里我提醒一句如果 Redis 服务当前是运行状态卸载前最好先停止服务否则可能提示服务正在运行而卸载失败。3.4 设置服务为自动启动并配置故障恢复服务注册完成后还要检查一下启动类型。默认情况下Redis 服务的启动类型可能是“自动”但为了保险最好确认一下。在服务管理器里双击 Redis 服务打开属性窗口把“启动类型”设置为“自动”点击“确定”。这样每次开机 Redis 就会自动运行。另外推荐配置一下“恢复”选项。在服务属性窗口上方的“恢复”选项卡里把“第一次失败”设置为“重新启动服务”“第二次失败”也设置为“重新启动服务”“重置失败计数”设置为 1 天。这样做的好处是Redis 万一因为意外崩溃退出Windows 会自动拉起它不用你手动处理。尤其是你本地有长跑的任务依赖 Redis这个设置能省不少心。4. 核心配置项解析与调整建议4.1 Redis 两个配置文件的区别Redis 目录下有两个 conf 文件很多人会弄混。redis.windows.conf 是完整版的配置模板里面带了大量注释和详细说明当你在命令行里手动执行 redis-server.exe 时默认读取它。redis.windows-service.conf 内容相对精简是专门为 Windows 服务模式准备的Redis 服务启动时读取它。实际操作中我一般建议把需要改的配置同步改到这两个文件里保持统一。但如果你只注册了服务、平时都用服务模式跑 Redis那么优先修改 redis.windows-service.conf如果你偶尔也会手动启动那 redis.windows.conf 也要同步修改。两个文件不一致的话很容易出现“手动启动时密码生效服务启动时密码不生效”这种玄学问题。4.2 常用配置项修改清单配置文件里可调的参数很多我挑几个实际项目里最常用、也是热词里经常被搜到的配置项列个表格说明配置项默认值场景与建议说明port6379一般不需要动Redis 监听端口如果端口被其他程序占用可以改为 6380 等bind127.0.0.1仅本机使用保持默认绑定本机回环地址。如果需要局域网访问可以改为 0.0.0.0protected-modeyes仅本机使用保持默认保护模式开启时没有密码且绑定内网时只允许本机连接requirepass空本地无密码可不动联调环境建议设置设置访问密码客户端连接时必须提供密码maxmemory0建议根据本机内存设置0 表示不限制内存生产环境必须限制比如 512mbmaxmemory-policynoeviction建议配合 maxmemory 设置内存满时的淘汰策略常用 allkeys-lruappendonlyno看是否需要持久化开启 AOF 持久化后数据恢复能力更强save默认配置一般保持默认RDB 快照持久化触发条件logfile空建议设置一个固定路径设置日志文件路径排查问题时特别有用dir当前目录建议改成工作目录RDB、AOF 文件的存放目录必须保证目录存在且有写权限以设置密码为例修改 requirepass 这一行requirepass yourpassword去掉前面的注释 #把 yourpassword 换成你自己的密码。修改完后你再用 redis-cli 连接时任何命令之前都需要先执行 authredis-cli.exe -a yourpassword设置密码后还有一个好处就是配合 protected-mode 可以更安全地让局域网内其他机器访问你的 Redis。不过我还是建议除非必要不要在开发机上把 Redis 暴露到局域网安全第一。4.3 配置改完后如何生效修改配置文件后不会自动生效需要重启 Redis 服务。先打开管理员命令行执行redis-server.exe --service-stop redis-server.exe --service-start或者用服务管理器重启 Redis 服务。重启后再用 redis-cli 连接连接时注意使用新的密码和端口。这里还要说一个 Windows 下的坑直接改 redis.windows-service.conf 里的 logfile 为空值Redis 服务启动时日志会输出到标准输出而服务模式没有控制台导致日志丢失。出现问题的时候很难排查。建议把 logfile 设置成绝对路径比如logfile D:/redis/logs/redis.log同时确保 D:/redis/logs 目录存在否则 Redis 服务可能因为无法写日志文件而启动失败。5. 可视化客户端Redis Desktop Manager 等工具实测5.1 可视化客户端工具怎么选Redis 的命令行客户端 redis-cli 虽然功能强大但人眼浏览一堆 key 确实不直观。尤其键数量多、类型复杂的时候有可视化客户端能省很多事。目前最常见的连接工具是 Redis Desktop Manager简称 RDM和 Another Redis Desktop Manager简称 ARDM。RDM 早期是免费的后来官方版本改为付费模式网上能找到的免费版普遍较老连接新版本 Redis 时偶尔会有兼容性问题。ARDM 是开源免费项目界面和 RDM 很像支持 Windows、macOS、Linux对 Redis 5.x 和 6.x 的兼容性都做得不错所以我个人更推荐用 ARDM。直接去它的 GitHub 仓库 Releases 页面下载 Windows 安装包就行。5.2 创建新连接的配置方法安装完 ARDM打开软件点击“新建连接”需要填写这么几个关键信息名称可以随便填比如 local-redis方便识别。地址Host本机使用就填 127.0.0.1如果 Redis 安装在别的机器上填对应 IP。端口Port默认 6379如果改过 redis 配置这里也要跟着改。密码Password如果 redis 配置里设置了 requirepass这里填对应密码没设置就留空。填完之后先点击“测试连接”如果提示连接成功再点“确定”保存连接。测试连接失败时常见原因我已经在后面的第 6 章里做了排查清单。5.3 ARDM 里最常用的几个操作连接成功后左侧就是 Redis 的数据库列表默认是 db0。可以直观看到每个 key 的类型和 TTL过期时间。右键某个 key 可以查看详情、修改 TTL、删除 key。除了数据浏览ARDM 还内置了一个控制台Console窗口可以直接输入 redis 命令效果和 redis-cli 一样。我喜欢用它的地方在于可以在一个界面里同时管理多个 Redis 实例开发环境、测试环境切换非常方便。另外针对键的搜索过滤也很实用。当你有几千个 key 时左侧默认展示全部会卡可以在搜索框输入前缀模式比如 order:*它会过滤出所有匹配的键。这类工具的核心就是让你更快地看清 Redis 里到底存了什么而不是用命令行一次次敲 keys 去翻。5.4 不用 GUI 也能操作redis-cli 常用命令速记当然可视化工具不是万能的某些排错场景还是得回到命令行。我把日常使用频率最高的 redis 命令和数据类型整理一份速记方便你放在手边字符串类型set key valueget keyincr keyexpire key seconds哈希类型hset key field valuehget key fieldhgetall key列表类型lpush key valuerpop keylrange key 0 -1集合类型sadd key membersmembers keysrem key member有序集合类型zadd key score memberzrange key 0 -1 withscores通用命令exists keytype keyttl keydel keyflushdbdbsize这里面有几个高频使用场景比如排查缓存是否生效时用 ttl key 看过期时间清理脏数据时用 del key 删除特定键想确认 Redis 里有多少数据时用 dbsize。掌握这几个命令日常使用基本就够了。6. 常见问题与排查技巧实录6.1 启动时报 bind: No error 或端口被占用如果你启动 redis-server.exe 时控制台提示Creating Server TCP listening socket *:6379: bind: No error这基本上说明 6379 端口已经被其他程序占用了。排查步骤是在命令行执行netstat -ano | findstr 6379看看占用端口的进程 PID 是什么再到任务管理器的“详细信息”里找到对应进程。如果这个进程不是你的 Redis要么结束它释放端口要么修改 redis 配置里的 port 换一个端口比如 6380。注意修改完端口后客户端连接也要用新端口。6.2 Redis 服务启动成功但马上停止服务注册成功后在服务管理器里点“启动”结果提示服务启动后又自动停止了。这种情况最常见的原因是配置文件的路径问题。redis.windows-service.conf 里有一个 dir 配置项表示数据文件的存放目录。如果这个目录不存在Redis 在初始化持久化文件时就会失败服务随之退出。解决办法是打开 redis.windows-service.conf确认 dir 指向一个实际存在的目录然后把 logfile 也配置到该目录下。另外还要检查该目录是否具有写权限尤其是你把 Redis 放在 Program Files 这种系统保护目录时很容易遇到权限问题。建议把 Redis 放在 D:\redis 这样路径简单的目录目录本身给当前用户完全控制权限。6.3 客户端连接不上或被拒绝访问如果在 Windows 防火墙开启的情况下本机 redis-cli 能连但局域网其他机器连不上最可能就是两个原因bind 配置和 protected-mode 配置。默认情况下 redis 的 bind 是 127.0.0.1只监听本机回环地址外部机器自然连不上。想把 Redis 暴露给局域网其他机器使用需要修改配置bind 0.0.0.0同时为了安全建议设置 requirepass 密码否则任何局域网机器都能连你的 Redis。接着还要在 Windows 防火墙里放行 6379 端口具体操作是Win11 设置 → 网络和 Internet → Windows 防火墙 → 允许应用通过防火墙 → 添加 redis-server.exe或者直接在“高级设置”里新建入站规则放行 TCP 6379 端口。6.4 设置了密码后执行命令报 NOAUTH这是一个很常见的小问题。修改了 requirepass 配置后再使用 redis-cli 连接你会发现执行 get name 直接报错(error) NOAUTH Authentication required.这不是 Redis 坏了而是要求你先认证身份。在 redis-cli 里执行auth yourpassword认证通过后后续命令就能正常执行。如果你用可视化客户端连接需要在连接配置里填写 Password 字段如果用的是命令行交互模式也可以在连接时直接指定密码redis-cli.exe -h 127.0.0.1 -p 6379 -a yourpassword注意使用 -a 指定密码时命令行会提示警告信息这在 Windows 上是正常的不影响实际功能。6.5 Redis 写入报 OOM command not allowedRedis 默认配置下 maxmemory 为 0也就是不限制内存本机一般不会遇到这个报错。但如果你在配置里设置了 maxmemory比如设置为 256mb那么当内存写满之后如果 maxmemory-policy 还是默认的 noevictionRedis 会拒绝新的写入操作返回(error) OOM command not allowed when used memory maxmemory.解决办法是根据业务场景调整淘汰策略。如果 Redis 主要用来做缓存建议设置为maxmemory 512mb maxmemory-policy allkeys-lruallkeys-lru 表示所有键中按 LRU 算法淘汰最近最少使用的键这是最常见的缓存淘汰策略。如果 Redis 里有一些键绝对不能丢就要用 volatile-lru它只淘汰设置了过期时间的键没有过期时间的键不会被淘汰。配置修改后记得重启 Redis 服务。6.6 Win11 上其他值得注意的小细节这里再补几个我在长期使用中发现的细节。第一是 Win11 的 Windows 安全中心可能会拦截未知来源的 exe 程序第一次运行 redis-server.exe 时如果弹窗提醒选择“仍要运行”或者手动允许即可。第二是旧版本 Redis 在 Win11 上偶尔会有兼容问题如果遇到服务注册失败或启动崩溃优先换用新版本比如 tporadowski 发布的 5.0.14.1 版本在 Win11 上实测很稳定。第三是别把 Redis 目录放在 OneDrive 同步目录下Redis 的数据文件和日志会频繁写入如果 OneDrive 也在实时同步轻则性能下降重则文件锁冲突导致 Redis 启动失败。这套流程走下来Win11 上的 Redis 环境就能稳定跑起来了。我自己在实际开发中最常用的组合就是原生版 Redis 注册成服务 ARDM 可视化客户端既省心又直观。后续如果项目上了集群、哨兵或者 Redis Cluster 架构再考虑用 Docker 拉官方镜像搭建多节点环境两者并不冲突。刚开始装环境时多花点时间把配置项弄清楚后面出了问题排查起来会轻松很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价