尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Windows环境下Redis 3.2.1安装配置与实战指南

Windows环境下Redis 3.2.1安装配置与实战指南 1. 为什么在Windows上安装Redis 3.2.1如果你正在看这篇文章大概率是遇到了一个有点“复古”的需求需要在Windows环境下部署一个Redis 3.2.1版本。这听起来可能有点奇怪毕竟现在Redis官方早已不提供Windows原生版本主流推荐是使用WSL2或者Docker。但现实情况是很多遗留项目、特定的开发环境或者某些教学场景仍然会锁定在这个特定的老版本上。比如你可能接手了一个几年前的老系统它的缓存层就依赖Redis 3.2.1任何版本升级都可能带来兼容性风险或者你正在学习某个基于旧版本编写的教程需要完全复现其环境。Redis 3.2.1发布于2016年是一个相对稳定但功能较老的版本。在Windows上安装它本质上是在一个“非官方支持”的平台上运行一个“过时”的软件这中间会遇到不少坑。网上流传的很多教程要么步骤不全要么使用的安装包来源不明存在安全风险。我将带你走通一条清晰、安全、可复现的路径不仅把服务跑起来更重要的是理解每一步背后的逻辑以及如何避开那些常见的“雷区”。整个过程我们会使用由微软开放技术小组Microsoft Open Tech group早年维护的、最可靠的Windows移植版并完成从下载、安装、配置到验证的全流程。2. 获取可靠的Redis 3.2.1 Windows安装包在Windows上安装旧版Redis第一步也是最重要的一步就是找到安全可靠的安装包。绝对不要从任何来路不明的第三方网站下载所谓的“绿色版”或“破解版”这极易引入恶意软件。最权威的来源是微软开放技术小组在GitHub上归档的项目MicrosoftArchive/redis。这个项目已经停止维护但它保存了Redis 3.x时代为Windows移植的稳定发行版。我们的目标版本是3.2.1。操作步骤与原理分析访问发布页面打开浏览器访问https://github.com/MicrosoftArchive/redis/releases。这个页面列出了所有历史版本。定位3.2.1版本在Release列表中找到3.2.1这个版本。通常它不会显示在首页你需要滚动查找或使用浏览器的页面搜索功能CtrlF搜索“3.2.1”。选择正确的资产包在3.2.1版本的发布资产Assets中你会看到几个文件。对于大多数学习和开发用途我们下载Redis-x64-3.2.100.msi这个文件。这里解释一下命名Redis-x64-3.2.100.msi这是64位Windows的安装程序MSI格式。尾缀的100是微软内部的构建版本号它对应的Redis核心版本就是3.2.1。MSI安装包的好处是它能像安装普通软件一样帮你处理服务注册、路径配置等非常适合新手。Redis-x64-3.2.100.zip这是64位的压缩包解压即可用更灵活但需要手动配置。如果你的系统是32位的现在已非常罕见才需要下载Redis-x86-3.2.100.msi。注意网络上有些教程会引导到一个叫https://github.com/tporadowski/redis/releases的仓库这个项目维护了更新的Redis Windows版本如5.x, 6.x。如果你的需求严格限定为3.2.1请不要使用这个源因为它不提供3.2.1版本。坚持使用MicrosoftArchive/redis源是版本正确的保证。点击Redis-x64-3.2.100.msi即可开始下载。下载完成后你得到一个MSI安装文件这就是我们所有工作的起点。3. 通过MSI安装程序部署Redis服务使用MSI安装是最省心的方式。双击运行下载好的Redis-x64-3.2.100.msi文件。安装过程详细解析启动安装向导首先会出现欢迎界面点击“Next”。接受许可协议勾选“I accept the terms in the License Agreement”然后点击“Next”。选择安装类型这里建议选择“Complete”完全安装。它会安装Redis服务器、命令行工具和性能计数器。对于“Custom”自定义选项除非你非常清楚每个组件的作用否则不需要改动。配置防火墙关键步骤接下来会看到一个“Add an exception to the Windows Firewall”为Windows防火墙添加例外的选项。这里强烈建议勾选。如果勾选安装程序会自动在Windows防火墙中为Redis默认端口6379添加一条入站规则允许本地网络访问。如果不勾选安装后你可能无法从本机以外的机器比如同一局域网内的另一台电脑连接到Redis甚至某些本地工具连接也会被防火墙拦截导致“Connection refused”的错误。设置端口和内存限制Port默认是6379这是Redis的标准端口。除非该端口已被占用如你安装了其他Redis实例否则保持默认。Max Memory设置Redis实例可使用的最大内存。默认是100MB。这是一个非常重要的配置。对于开发测试100MB通常足够。但如果你打算用于稍微正式一点的场景或测试大量数据建议根据你的物理内存情况适当调大比如设置为512MB或1024MB。注意这里单位是MB。如果不设置或设置为0在32位系统上默认为3GB64位系统上则无限制使用所有可用内存这可能导致Redis占用过多内存影响系统。选择安装路径默认路径是C:\Program Files\Redis\。你可以保持默认也可以更改到一个没有空格和中文的路径如D:\Redis\这有时可以避免一些潜在的权限或路径解析问题。完成安装点击“Install”开始安装。安装完成后勾选“Launch the Redis Server to create a firewall exception”启动Redis服务器以创建防火墙例外如果之前没勾选防火墙选项这里可能还有一次机会然后点击“Finish”。安装后验证 安装程序会自动将Redis安装为Windows服务。你可以通过以下方式验证打开“服务”管理器Win R输入services.msc在服务列表中找到名为“Redis”的服务其状态应为“正在运行”。打开任务管理器在“详细信息”或“服务”标签页中应该能看到redis-server.exe进程。至此一个作为Windows服务运行的Redis 3.2.1实例就已经在后台运行了。4. 使用命令行工具连接与基本测试服务安装好了我们如何与之交互呢Redis提供了命令行客户端redis-cli.exe。安装程序已经将其添加到了系统环境变量PATH中这意味着你可以在任何命令行窗口如CMD或PowerShell中直接使用它。打开命令行并连接按下Win R输入cmd或powershell打开命令行界面。输入以下命令并回车redis-cli -h 127.0.0.1 -p 6379-h 127.0.0.1指定连接的主机为本地环回地址。-p 6379指定连接的端口即我们安装时设置的端口。 如果连接成功命令提示符会变成127.0.0.1:6379这表明你已经进入了Redis的交互式命令行。进行基本的数据操作测试在127.0.0.1:6379提示符下依次输入以下命令验证Redis的基本功能是否正常# 设置一个键值对键为“mykey”值为“Hello Redis” SET mykey Hello Redis # 获取键“mykey”的值 GET mykey # 输出应为“Hello Redis” # 检查键是否存在 EXISTS mykey # 输出应为(integer) 1表示存在 # 删除键 DEL mykey # 再次检查 EXISTS mykey # 输出应为(integer) 0表示已删除如果以上命令都能得到预期响应说明你的Redis服务器工作完全正常。退出命令行客户端输入QUIT命令或直接关闭窗口。5. 深入理解配置文件与自定义设置MSI安装方式虽然方便但很多高级配置被隐藏了。要真正掌控Redis必须了解其配置文件。Redis 3.2.1 for Windows的配置文件是redis.windows.conf或redis.windows-service.conf。这两个文件通常位于你的安装目录下例如C:\Program Files\Redis\。两个配置文件的区别redis.windows.conf用于通过命令行手动启动Redis服务器时的配置。redis.windows-service.conf用于当Redis作为Windows服务运行时的配置。我们修改的应该是这个文件因为我们的Redis是以服务形式运行的。如何修改服务使用的配置直接修改redis.windows-service.conf文件并不会立即生效因为服务启动时加载的是注册表中记录的配置路径。我们需要通过命令行重新指定配置来安装服务。停止Redis服务以管理员身份打开CMD或PowerShell运行net stop Redis卸载现有服务注意这会移除服务但不会删除程序文件redis-server --service-uninstall编辑配置文件用记事本或其他文本编辑器如VS Code打开redis.windows-service.conf。这里介绍几个关键配置项bind 127.0.0.1绑定IP地址。默认只允许本地连接。如果你需要让同一网络下的其他机器访问可以将其改为bind 0.0.0.0监听所有网络接口但务必同时设置密码或结合防火墙策略否则有安全风险port 6379监听端口。requirepass foobared访问密码。默认是注释掉的以#开头。取消注释并将foobared替换为你自己的强密码。例如requirepass MyStrongPassword123!。maxmemory 100mb最大内存使用量。根据你的需要调整例如maxmemory 512mb。maxmemory-policy noeviction内存达到上限后的淘汰策略。noeviction是默认策略即不淘汰新写入操作会报错。对于缓存场景可以设置为allkeys-lru移除最近最少使用的键。使用新配置重新安装服务在包含redis.windows-service.conf文件的目录下以管理员身份运行redis-server --service-install redis.windows-service.conf --loglevel verbose --service-name Redis--service-install安装服务。redis.windows-service.conf指定配置文件路径。--loglevel verbose设置日志级别为详细便于排查问题。--service-name Redis指定服务名称为“Redis”。启动服务net start Redis验证配置生效再次使用redis-cli连接。如果设置了密码连接和操作方式如下# 连接 redis-cli -h 127.0.0.1 -p 6379 # 此时执行任何命令如 GET foo都会返回 (error) NOAUTH Authentication required. # 进行认证 AUTH MyStrongPassword123! # 返回 OK 后即可正常操作 SET key1 value1 GET key16. 常见问题排查与实战心得即使在按照步骤操作后你也可能会遇到一些问题。下面是一些典型问题的排查思路和我积累的一些心得。问题一连接被拒绝Could not connect to Redis at 127.0.0.1:6379: Connection refused可能原因1Redis服务未运行。排查打开“服务”services.msc查看“Redis”服务的状态。如果不是“正在运行”尝试手动启动它。如果启动失败查看Windows事件查看器Event Viewer中“Windows日志”-“应用程序”里是否有来自Redis的错误日志。可能原因2防火墙阻止。排查回想安装时是否勾选了防火墙例外。如果没有需要手动添加。打开“Windows Defender 防火墙”-“高级设置”-“入站规则”新建一条规则允许TCP端口6379的入站连接。可能原因3配置绑定了错误IP。排查检查redis.windows-service.conf中的bind设置。如果是bind 127.0.0.1则只能本机连接。确保客户端连接地址也是127.0.0.1或localhost。问题二启动服务失败错误1067可能原因1配置文件语法错误。排查这是最常见的原因。在修改redis.windows-service.conf时可能不小心打错了单词、删除了必要的引号或格式有误。仔细检查最近修改过的行。一个快速验证配置文件是否有效的方法是尝试用这个配置文件手动启动服务器非服务模式cd “C:\Program Files\Redis” redis-server.exe redis.windows-service.conf如果配置文件有误命令行会直接报错并指出大致位置。可能原因2端口被占用。排查6379端口可能被其他程序占用。在CMD中运行netstat -ano | findstr :6379查看是否有其他PID在监听该端口。如果有可以停止那个程序或者修改Redis配置文件的port为其他值如6380并记得重启服务和更新防火墙规则。问题三客户端可以连接但操作报“(error) NOAUTH Authentication required”原因配置文件中设置了requirepass但客户端未认证。解决如上文所述在redis-cli中使用AUTH命令或者在连接时直接指定密码redis-cli -h 127.0.0.1 -p 6379 -a MyStrongPassword注意这种方式密码可能出现在进程列表里安全性稍差。实战心得与建议版本锁定与隔离对于生产环境或严肃的遗留项目将Redis 3.2.1及其配置文件整体打包与项目代码放在一起。部署时直接使用这个打包好的版本避免因环境差异导致的不兼容。永远不要在服务器上混合安装多个不同版本的Redis。慎用内存设置maxmemory一定要设置。对于32位系统Redis最大内存寻址空间约为3GB即使你设得更大也没用。对于64位开发机建议设置为物理内存的50%-70%给系统和其它应用留出空间。持久化策略Redis 3.2.1支持RDB快照和AOF追加日志两种持久化方式。在redis.windows-service.conf中save指令配置RDB触发条件appendonly配置AOF是否开启。对于要求数据不能丢失的场景建议同时开启AOFappendonly yes并设置合适的同步策略appendfsync everysec是性能和数据安全的平衡选择。注意Windows版在异常关机时数据丢失的风险比Linux版略高定期备份RDB文件是良好的习惯。性能监控可以使用redis-cli的INFO命令查看服务器状态关注used_memory已用内存、connected_clients连接数、instantaneous_ops_per_sec每秒操作数等关键指标。对于更直观的监控可以考虑使用Another Redis Desktop Manager这类图形化客户端它们通常提供更丰富的监控视图。关于杀毒软件某些杀毒软件可能会将Redis的行为误判为可疑从而阻止其运行或网络访问。如果在安装或运行过程中遇到莫名问题可以尝试暂时禁用杀毒软件实时防护进行测试并将Redis的安装目录和可执行文件添加到杀毒软件的信任列表白名单中。
返回列表