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 服務,需要重新執行注冊服務等操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86559.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86559.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86559.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

apex新版貌似移除了amp從源碼安裝方式裝的話會在from apex import amp時報錯

問題: 安裝完apex結果 from apex import amp會報錯 解決方法: # apex git clone https://github.com/NVIDIA/apex cd apex # https://github.com/modelscope/ms-swift/issues/4176 git checkout e13873debc4699d39c6861074b9a3b2a02327f92 pip insta…

掌握 HTTP 請求:理解 cURL GET 語法

cURL 是一個強大的命令行工具,用于發送 HTTP 請求和與 Web 服務器交互。在 Web 開發和測試中,cURL 經常用于發送 GET 請求來獲取服務器資源。本文將詳細介紹 cURL GET 請求的語法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的縮寫…

【AI學習】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一種將現實世界中的數據(如圖像、文本、音頻等)轉化為計算機可處理的數值型特征表示的工具。它是連接人類認知(如語義、視覺特征)與…

基于算法競賽的c++編程(28)結構體的進階應用

結構體的嵌套與復雜數據組織 在C中,結構體可以嵌套使用,形成更復雜的數據結構。例如,可以通過嵌套結構體描述多層級數據關系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…

leetcode題解450:刪除BST中的結點!調整二叉樹的結構最難!

一、題目內容 題目要求刪除二叉搜索樹(BST)中值為 key 的節點,并保證刪除后二叉搜索樹的性質不變。返回刪除節點后的二叉搜索樹的根節點的引用。一般來說,刪除節點可分為兩個步驟:首先找到需要刪除的節點;如…

讓 Kubernetes (K8s) 集群 使用 GPU

要讓 Kubernetes (K8s) 集群 使用 GPU,并且節點是 KVM 虛擬化 出來的,需要確保以下幾點: KVM 虛擬機透傳 GPU(PCIe Passthrough) 宿主機和 K8s 節點正確安裝 NVIDIA 驅動 K8s 集群安裝 nvidia-device-plugin Pod 配…

Android第十七次面試總結(Java數據結構)

一、Java 集合體系核心架構與高頻考點 1. 集合體系架構圖 Java集合框架 ├─ Collection(單列集合) │ ├─ List(有序、可重復) │ │ ├─ ArrayList(動態數組,隨機訪問快) │ │ ├─…

Linux 刪除登錄痕跡

本文介紹相對徹底的刪除 Linux 的登錄痕跡,操作前確保已經可以拿到能提權ROOT令牌的系統管理權限。 當然,仍可以先查閱以下文章。 Linux 刪除用戶終端命令行操作記錄-CSDN博客 1、清楚當前會話記錄 history -c # 清空當前終端內存中的歷史命令 2、永…

Lighttpd 配置選項介紹

根據提供的 Lighttpd 配置選項文檔(https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ConfigurationOptions ),以下是所有配置選項的詳細解釋、作用及適用場景,按模塊分組說明: 以下是對 Lighttpd 配置選項 …

解決本地部署 SmolVLM2 大語言模型運行 flash-attn 報錯

出現的問題 安裝 flash-attn 會一直卡在 build 那一步或者運行報錯 解決辦法 是因為你安裝的 flash-attn 版本沒有對應上,所以報錯,到 https://github.com/Dao-AILab/flash-attention/releases 下載對應版本,cu、torch、cp 的版本一定要對…

Python 訓練營打卡 Day 40-訓練和測試的規范寫法

一.單通道圖片的規范寫法 以之前的MNIST數據集為例 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加載數據的工具 from torchvision import datasets, transforms # t…

Java 枚舉(Enum)的使用說明

在 Java 中,枚舉(Enum)是一種特殊的數據類型,用于定義一組固定的命名常量。它比傳統的常量(如 public static final)更安全、更靈活,且支持面向對象特性。以下是枚舉的詳細用法: 1. …

Docker部署Nginx-UI

使用如下命令拉取運行nginx-ui軟件 docker run -dit \ --namenginx-ui \ --restartalways \ -e TZAsia/Shanghai \ -v /mnt/user/appdata/nginx:/etc/nginx \ -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \ -v /var/run/docker.sock:/var/run/docker.sock \ -…

OkHttp 3.0源碼解析:從設計理念到核心實現

本文通過深入分析OkHttp 3.0源碼,揭示其高效HTTP客戶端的實現奧秘,包含核心設計理念、關鍵組件解析、完整工作流程及實用技巧。 一、引言:為什么選擇OkHttp? 在Android和Java生態中,OkHttp已成為HTTP客戶端的標準選擇…

洛谷P12170 [藍橋杯 2025 省 Python B] 攻擊次數

題目傳送門 思路 首先定義一個數 n n n ,初值為 2025 2025 2025,從第一回合開始,三個英雄持續攻擊,攻擊方式為: 第一個英雄: 每回合攻擊 5 5 5

百度之星2021——BD202104 萌新

輸入格式: 本題有多組測試數據。 第一行一個數 T (1 ≤ T ≤ 1000) 表示一共有 T 組數據。對于每一組數據,輸入一行兩個數 a,b (1 ≤ a,b ≤ 1000000000)。 輸出格式: 對每組數據,輸出一行兩個數分別表示最小與最大的 c&#xff0…

R語言ICU患者死亡率預測實戰

【圖書推薦】《R語言醫學數據分析實踐》-CSDN博客 《R語言醫學數據分析實踐 李丹 宋立桓 蔡偉祺 清華大學出版社9787302673484》【摘要 書評 試讀】- 京東圖書 (jd.com) 預測ICU患者死亡率對比較藥物的療效、比較護理的有效性、比較手術的有效性有重要意義,利用機…

leetcode240-搜索二維矩陣

leetcode 240 思路 1. 矩陣特性 首先,利用矩陣的特性是解題的關鍵: 每行的元素遞增每列的元素遞增 這意味著,如果我們在矩陣中從右上角或左下角開始搜索,可以有效縮小搜索范圍 2. 從右上角開始搜索 將搜索的起點定位在矩陣…

Linux相關概念和易錯知識點(42)(TCP的連接管理、可靠性、面臨復雜網絡的處理)

目錄 1.TCP的連接管理機制(1)三次握手①握手過程②對握手過程的理解 (2)四次揮手(3)握手和揮手的觸發(4)狀態切換①揮手過程中狀態的切換②握手過程中狀態的切換 2.TCP的可靠性&…

【web應用】若依框架:若依框架中的頁面跳轉簡介

文章目錄 ?前言1. 后端控制器跳轉2. 前端路由跳轉3. 菜單配置跳轉4. 權限控制跳轉5. 常見跳轉路徑 ?一、主目錄頁面跳轉?二、菜單目錄跳轉?總結 標題詳情作者JosieBook頭銜CSDN博客專家資格、阿里云社區專家博主、軟件設計工程師博客內容開源、框架、軟件工程、全棧&#x…