当前位置: 首页 > news >正文

Redis(02)Win系统如何将Redis配置为开机自启的服务

一、引言

        Redis 是一款高性能的键值对存储数据库,在众多项目中被广泛应用。在 Windows 环境下,为了让 Redis 能更稳定、便捷地运行,将其设置为系统服务并实现自动启动是很有必要的。这样一来,系统开机时 Redis 可自动加载,无需手动启动,能有效提升工作效率,尤其适用于开发环境和生产环境中对 Redis 持续运行有需求的场景。本文将详细介绍在 Windows 系统下把 Redis 设置为系统服务自动启动的完整流程。

二、前期准备

(一)下载 Redis 安装包

        前往 Redis 官方网站(Downloads - Redis),找到 Windows 版本的 Redis 安装包进行下载。也可以通过一些可靠的软件下载平台获取,但建议优先选择官方渠道,以保证安装包的完整性和安全性。下载完成后,将安装包解压到一个合适的目录,比如 D:\Redis ,后续操作将基于此目录展开。

(二)检查系统环境

        确保你的 Windows 系统具备正常的命令执行环境,能以管理员身份运行命令提示符(CMD)或 PowerShell。因为涉及到系统服务的安装、配置等操作,普通用户权限可能无法完成,所以管理员权限是必需的。同时,检查系统的网络配置等,虽然这一步不影响 Redis 服务的基础安装,但如果后续要通过网络访问 Redis ,确保网络环境正常很重要。

三、Redis 服务安装与配置步骤

(一)以管理员身份运行命令行工具

        按下 Win + R 组合键,打开 “运行” 对话框,输入 cmd ,然后按住 Ctrl + Shift + Enter 组合键,以管理员身份启动命令提示符。这样可以避免因权限不足导致的操作失败。在命令提示符窗口中,你会看到路径显示为 C:\Windows\System32> ,表示已进入管理员权限的命令执行环境。

(二)切换到 Redis 安装目录

        使用 cd 命令切换到你解压 Redis 安装包所在的目录。例如,若 Redis 解压到 D:\Redis ,则在命令提示符中输入:

cd /d D:\Redis

这里使用 /d 参数是为了同时切换驱动器和目录,确保能正确定位到 Redis 安装目录。执行完该命令后,命令提示符的路径会变为 D:\Redis> ,表示已成功切换到 Redis 所在目录。

(三)注册 Redis 为系统服务

在 Redis 安装目录下,执行以下命令将 Redis 注册为系统服务:

plaintext

redis-server --service-install redis.windows.conf --loglevel verbose

  • --service-install 选项用于告诉 Redis 服务器要进行系统服务的安装操作。
  • redis.windows.conf 是 Redis 在 Windows 系统下的配置文件,Redis 会根据该文件中的配置来运行服务,比如端口设置、持久化策略等。如果你的配置文件名称不同,需要替换为实际的配置文件名。
  • --loglevel verbose 用于设置日志级别为详细模式,这样在服务安装和运行过程中,能生成更丰富的日志信息,方便排查可能出现的问题。

如果注册成功,命令提示符会返回类似 Redis service successfully installed. 的提示信息。但如果出现报错,比如 Invalid argument during startup: Failed to open the.conf file ,通常是因为路径问题,要检查配置文件是否存在于当前目录,以及目录路径中是否有特殊字符(如中文、空格等),尽量将 Redis 安装目录设置为纯英文路径,避免因系统对特殊字符处理不当导致的问题。

(四)配置服务自动启动

1. 通过命令行配置

服务注册成功后,默认情况下服务的启动类型可能不是自动的。可以通过 sc 命令来设置 Redis 服务为自动启动,在命令提示符中输入:

plaintext

sc config Redis start= auto

这里 sc 是 Windows 系统中用于与服务控制器交互的命令,config 子命令用于修改服务的配置,Redis 是服务名称(如果注册时自定义了服务名称,要替换为实际名称),start= auto 表示将启动类型设置为自动。执行该命令后,如果成功,会返回 [SC] ChangeServiceConfig SUCCESS 的提示。

2. 通过服务管理器配置

除了命令行方式,也可以通过 Windows 服务管理器来设置。按下 Win + R ,输入 services.msc ,回车打开服务管理器。在服务列表中找到 Redis 服务(如果服务名称不是默认的 Redis ,根据实际注册名称查找),右键点击该服务,选择 “属性”。在 “属性” 对话框中,找到 “启动类型” 下拉框,选择 “自动”,然后点击 “确定”。这种方式更直观,适合对命令行操作不太熟悉的用户。

(五)启动 Redis 服务

1. 命令行启动

在命令提示符中,执行以下命令启动 Redis 服务:

redis-server --service-start

如果启动成功,会返回类似 Redis service successfully started. 的提示信息。如果启动失败,可查看详细的错误日志,根据日志中的提示排查问题,比如端口被占用、配置文件错误等。

2. 服务管理器启动

同样在服务管理器中,找到 Redis 服务,右键点击,选择 “启动”。服务启动后,状态会显示为 “正在运行” 。

四、常见问题及解决方案

(一)配置文件无法找到问题

        在执行服务注册命令时,若出现 Failed to open the.conf file 报错,首先检查 redis.windows.conf 文件是否确实存在于当前 Redis 安装目录。如果文件存在,确认文件路径中是否有特殊字符,像中文、空格等,Windows 系统在处理含特殊字符路径时可能会出现问题。解决方法是将 Redis 安装目录移动到纯英文路径下,比如 D:\Redis ,然后重新执行服务注册命令。

(二)服务启动失败问题

服务启动失败可能有多种原因:

  • 端口被占用:Redis 默认使用 6379 端口,如果该端口被其他程序占用,Redis 服务就无法正常启动。可以通过 netstat -ano | findstr "6379" 命令查看端口占用情况,找到占用端口的进程 PID ,然后在任务管理器中结束对应的进程,或者修改 Redis 配置文件(redis.windows.conf )中的 port 配置项,将端口改为其他未被占用的端口,再重启服务。
  • 配置文件错误:如果配置文件中存在语法错误或无效配置,也会导致服务启动失败。可以仔细检查配置文件,参考 Redis 官方文档对配置项的说明,修正错误配置。同时,利用注册服务时设置的 --loglevel verbose 日志级别,查看详细的错误日志信息,根据日志提示定位和解决问题。

(三)权限不足问题

在执行服务相关操作(如注册、启动、配置等)时,如果没有以管理员身份运行命令提示符,可能会出现权限不足的报错,比如 [SC] OpenService 失败 5: 拒绝访问 。解决方法就是始终以管理员身份启动命令提示符,重新执行相关操作。

五、验证 Redis 服务自动启动配置

(一)重启系统验证

完成上述配置后,重启 Windows 系统。系统重启完成后,再次打开服务管理器,查看 Redis 服务的状态是否为 “正在运行” 。如果服务状态正常,说明自动启动配置成功。也可以通过命令行方式,执行 sc query Redis 命令,查看服务的状态信息,确认服务已自动启动。

(二)连接 Redis 测试

使用 Redis 客户端工具(如 redis-cli )连接 Redis 服务,测试是否能正常进行数据操作。在命令提示符中,切换到 Redis 安装目录,执行 redis-cli.exe (如果已配置环境变量,可直接在任意目录执行 redis-cli ),然后输入 ping 命令,如果返回 PONG ,说明 Redis 服务运行正常,能正常响应客户端请求。还可以进行简单的键值对设置和获取操作,比如 set test_key "Hello, Redis" ,然后 get test_key ,查看是否能正确设置和获取值,进一步验证 Redis 服务的功能。

六、Redis 服务的其他管理操作

(一)停止 Redis 服务

1. 命令行方式

在命令提示符中,执行 redis-server --service-stop 命令,可停止 Redis 服务。执行后,服务会逐渐停止运行,命令提示符会返回服务停止成功的提示(如果失败,同样可查看日志排查问题 )。

2. 服务管理器方式

在服务管理器中找到 Redis 服务,右键点击,选择 “停止” ,服务状态会变为 “已停止” 。

(二)删除 Redis 服务

如果不再需要 Redis 作为系统服务运行,可以将其删除。首先确保 Redis 服务已停止,然后在命令提示符中执行 redis-server --service-uninstall 命令,即可删除 Redis 系统服务。删除后,在服务管理器中就找不到 Redis 服务相关条目了。如果后续还需要使用 Redis 服务,需要重新执行注册服务等操作。

相关文章:

  • Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
  • mysql脚本安装
  • 【设计模式-4.11】行为型——解释器模式
  • 【element-ui】el-autocomplete实现 无数据匹配
  • win10系统docker安装dify
  • 【Python新手入门指南】极速搭建Python开发环境
  • open3d:使用彩色图和深度图生成点云
  • js 比较两个对象的值,不相等就push对象的key
  • 虚拟仿真技术赋能家庭教育实训室建设要点解析​
  • Cursor AI编程助手模型选择对了吗?
  • C++ Primer Plus 7.8 函数与 array 对象
  • 传统业务对接AI-AI编程框架-Rasa的业务应用实战(2)--选定Python环境 安装rasa并初始化工程
  • springboot实现查询学生
  • 图像尺寸测量仪应用刀具尺寸测量
  • Git操作记录
  • Git Svn
  • Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
  • 【从0-1的CSS】第1篇:CSS简介,选择器已经常用样式
  • C++虚函数表(虚表Virtual Table,简称vtable、VFT)(编译器为支持运行时多态(动态绑定)而自动生成的一种内部数据结构)虚函数指针vptr
  • PPT转图片拼贴工具 v1.0
  • jsp做网站开发/百度网址
  • 网站开发技术介绍/欧洲站fba
  • 寮步网站制作/目前搜索引擎排名
  • 如何做转发文章赚钱的网站/网络推广的具体方式
  • 网站推广的方式有哪些/seo快速排名软件价格
  • 企业vi设计的作用与意义/seo还有前景吗