【Redis】第1節|Redis服務搭建

一、Redis 基礎概念

  1. 核心功能
    • 內存數據庫,支持持久化(RDB/AOF)、主從復制、哨兵高可用、集群分片。
    • 常用場景:緩存、分布式鎖、消息隊列、計數器、排行榜等。
  2. 安裝環境
    • 依賴 GCC 環境(C語言編譯),需先安裝?gcc
    • 關閉防火墻或配置端口放行(默認端口 6379)。

二、單機部署

1. 安裝步驟
# 1. 創建目錄并下載
mkdir -p /opt/software/redis
cd /opt/software/redis
wget https://download.redis.io/redis-stable.tar.gz# 2. 解壓并編譯安裝
tar -xzf redis-stable.tar.gz
cd redis-stable
make install  # 生成可執行文件到 /usr/local/bin# 3. 驗證安裝
ll /usr/local/bin | grep redis  # 檢查是否生成 redis-server、redis-cli 等工具
2. 配置與啟動
  • 配置文件:修改?redis.conf?(路徑:/opt/software/redis/redis-stable
bind * -::*        # 允許所有IP連接
daemonize yes      # 后臺運行
logfile "redis.log" # 日志路徑
dir "/opt/software/redis" # 工作目錄
requirepass "1qaz@WSX"  # 設置密碼(可選)
protected-mode no  # 關閉保護模式(允許遠程連接)
  • 啟動與連接
redis-server redis.conf  # 啟動服務
redis-cli -a 1qaz@WSX     # 帶密碼連接客戶端

三、主從部署(Master-Slave)

1. 核心概念
  • 單向復制:主節點(Master)寫入,從節點(Slave)只讀,數據自動同步。
  • 作用:數據冗余、讀寫分離、故障恢復基礎。
2. 配置步驟(從節點)
# 修改從節點 redis.conf
replicaof <master_ip> <master_port>  # 示例:replicaof 192.168.75.129 6379
requirepass "1qaz@WSX"               # 主節點密碼(若有)
replica-read-only yes                 # 從節點只讀
3. 驗證
# 主節點查看從節點信息
redis-cli info replication  # 輸出中包含 slave0 信息(ip、端口、狀態)# 從節點查看角色
redis-cli info replication | grep role:slave

四、哨兵部署(Sentinel)

1. 核心功能
  • 自動故障轉移:監控主從節點,主節點故障時自動選舉新主節點。
  • 集群模式:多個哨兵節點協同工作,避免單點故障。
2. 配置步驟
  1. 創建哨兵配置文件sentinel.conf
protected-mode no       # 關閉保護模式
daemonize yes           # 后臺運行
port 26379              # 哨兵端口
logfile "sentinel.log"  # 日志路徑
dir "/opt/software/redis"# 監控主節點(mymaster 為主節點名稱,2 為法定人數)
sentinel monitor mymaster 192.168.75.129 6379 2
sentinel down-after-milliseconds mymaster 30000  # 主節點超時時間(30秒)
sentinel failover-timeout mymaster 180000       # 故障轉移超時時間(180秒)
  1. 啟動哨兵
redis-sentinel sentinel.conf  # 或 redis-server sentinel.conf --sentinel
3. 故障模擬
# 停止主節點服務
redis-cli shutdown -p 6379# 查看哨兵日志,確認新主節點選舉
tail -f sentinel.log# 驗證新主節點
redis-cli -p 6379 info replication | grep role:master

五、集群部署(Cluster)

1. 核心概念
  • 分片存儲:數據通過哈希槽(16384個)分布在多個主節點,突破單機內存限制。
  • 高可用性:每個主節點配備從節點,支持自動故障轉移。
2. 配置準備(三主三從)
  • 節點規劃

節點角色

IP

端口

主節點

192.168.75.129

6379

從節點

192.168.75.129

6380

主節點

192.168.75.131

6379

從節點

192.168.75.131

6380

主節點

192.168.75.132

6379

從節點

192.168.75.132

6380

  • 配置文件(以 6379 主節點為例)
cluster-enabled yes       # 開啟集群模式
cluster-node-timeout 5000 # 節點超時時間(5秒)
cluster-config-file nodes-6379.conf # 集群配置文件(自動生成)
port 6379
appendonly yes            # 開啟AOF持久化
3. 啟動與初始化集群
# 啟動所有節點
for port in 6379 6380; doredis-server ./cluster/redis_${port}.conf
done# 創建集群(--cluster-replicas 1 表示每個主節點配1個從節點)
redis-cli --cluster create \192.168.75.129:6379 192.168.75.131:6379 192.168.75.132:6379 \192.168.75.129:6380 192.168.75.131:6380 192.168.75.132:6380 \--cluster-replicas 1
4. 數據讀寫
# 連接集群(-c 開啟自動路由)
redis-cli -c -p 6379# 寫入數據(自動路由到目標節點)
set key1 value1  # 若鍵屬于其他節點,返回 MOVED 錯誤并提示目標節點

六、關鍵配置文件路徑

部署模式

配置文件路徑

說明

單機

/opt/software/redis/redis-stable/redis.conf

單機配置

主從

從節點?redis.conf?增加?replicaof

主節點無需修改

哨兵

/opt/software/redis/redis-stable/sentinel.conf

哨兵集群配置

集群

/opt/software/redis/cluster/redis_*.conf

每個節點獨立配置文件

七、常用命令匯總

操作類型

命令示例

說明

啟動服務

redis-server [config-file]

帶配置文件啟動

連接客戶端

redis-cli -h IP -p PORT -a PASSWORD

連接 Redis 實例

查看狀態

redis-cli info [section]

查看服務器狀態(如?replication

關閉服務

redis-cli shutdown [-p PORT]

安全關閉 Redis 實例

集群管理

redis-cli --cluster create/info/nodes

集群創建、信息查詢、節點列表

八、注意事項

  1. 端口沖突:確保各節點端口未被占用(主節點默認 6379,哨兵默認 26379)。
  2. 防火墻設置:開放所有節點端口(6379638026379?等)。
  3. 配置持久化:生產環境建議同時開啟 RDB 和 AOF,避免數據丟失。
  4. 監控工具:使用?redis-cli monitorinfo?命令或第三方工具(如 Prometheus)監控集群狀態。

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

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

相關文章

GitLab-CI簡介

概述 持續集成&#xff08;CI&#xff09;和 持續交付(CD) 是一種流行的軟件開發實踐&#xff0c;每次提交都通過自動化的構建&#xff08;測試、編譯、發布&#xff09;來驗證&#xff0c;從而盡早的發現錯誤。 持續集成實現了DevOps, 使開發人員和運維人員從繁瑣的工作中解…

FFmpeg解碼器配置指南:為什么--enable-decoders不能單獨使用?

FFmpeg解碼器配置指南 在FFmpeg的編譯配置過程中&#xff0c;許多開發者會遇到關于解碼器配置的困惑。特別是--enable-decoders這個選項&#xff0c;很多人誤以為啟用它就能自動包含所有解碼器。本文將深入解析FFmpeg解碼器配置的機制&#xff0c;并通過實際測試展示正確的配置…

C++多態與虛函數

C++多態與虛函數詳解 多態(Polymorphism)是 C++ 面向對象編程的重要特性,通過統一的接口實現不同的行為。虛函數(Virtual Function)是實現運行時多態的核心機制。以下從多態的構成條件、意義、析構函數的虛函數化、純虛函數和抽象類,以及虛函數表的底層實現依次介紹。 1.…

游戲引擎學習第313天:回到 Z 層級的工作

回顧并為今天的內容定下基調 昨天我們新增了每個元素級別的排序功能&#xff0c;并且采用了一種我們認為挺有意思的方法。原本計劃采用一個更復雜的實現方式&#xff0c;但在中途實現的過程中&#xff0c;突然意識到其實有個更簡單的做法&#xff0c;于是我們就改用了這個簡單…

ODBC簡介

ODBC&#xff08;Open Database Connectivity&#xff09;是一個由 Microsoft 制定的標準接口&#xff0c;允許不同的應用程序通過統一的方式訪問各種數據庫系統。 &#x1f9e0; 簡單理解&#xff1a; ODBC 就像是 “翻譯官”&#xff0c;在應用程序&#xff08;如 Excel、Py…

RK3588 buildroot QT 懸浮顯示(OSD)

概述 主要介紹在rockchip rk3588 buildroot中 運行QT程序。需要結合之前的文檔:認識DRM顯示系統、buildroot中QT開發指導、以及如何集成QT庫到3588板子上。 場景:在linux開發中,需要使用QT開發程序,做OSD顯示。(如下圖顯示,顯示器播放視頻,QT頁面懸浮于視頻上方,顯示…

sockaddr_in

在網絡編程中&#xff0c;sockaddr_in 結構體是用于表示 IPv4 地址的套接字地址結構。它定義在 <netinet/in.h> 頭文件中&#xff0c;是 sockaddr 結構體的一個特化版本&#xff0c;專門用于處理 IPv4 地址。 下面是 sockaddr_in 結構體的典型定義&#xff1a; struct …

有銅半孔工藝的制造難點與工藝優化

技術難點剖析 有銅半孔工藝在制造過程中面臨多重挑戰&#xff0c;主要集中在材料加工精度、孔壁完整性及良率控制三個方面&#xff1a; 銅層翹起與毛刺殘留 半孔成型時&#xff0c;銑刀高速切割可能導致孔壁銅層被拉扯&#xff0c;產生翹起或殘留銅屑&#xff0c;影響導電性能…

云原生安全:網絡協議TCP詳解

&#x1f525;「炎碼工坊」技術彈藥已裝填&#xff01; 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 &#xff08;注&#xff1a;文末附可視化流程圖與專有名詞說明表&#xff09; 1. 基礎概念 TCP&#xff08;Transmission Control Protocol&#xff09;是…

Dify中的Extension插件開發例子:以neko為例

本文使用Dify v1.0.0-beta.1版本。以neko為例&#xff0c;介紹Dify中的Extension插件開發例子。需要說明的是Dify官方要求Python≥3.12&#xff0c;但發現本地PyCharm調試Python≥3.12有問題&#xff0c;就采用的Python 3.11版本。 一.Extension插件項目創建 1.填寫插件信息 …

Linux中logger命令的使用方法詳解

文章目錄 一、基礎語法二、核心功能選項三、?設施與優先級對照?1. 常用設施&#xff08;Facility&#xff09;2. 優先級&#xff08;Priority&#xff09;從低到高&#xff1a;3. 組合示例? 四、典型使用場景1. 記錄簡單消息2. 帶標簽和優先級3. 記錄命令輸出4. 發送到遠程服…

【圖論 并集查找】P3671 [USACO17OPEN] Where‘s Bessie? S|普及+

本文涉及知道點 C圖論 C并集查找 預計2025年5月29號 7:00發布 P3671 [USACO17OPEN] Where’s Bessie? S 題目描述 Farmer John 一直以精通技術而聞名&#xff0c;他正在測試他的新型無人機搭載的奶牛定位相機。這款相機據說可以拍攝他的田地并自動確定奶牛的位置。不幸的是…

《軟件工程》第 13 章 - 軟件維護

知識思維導圖 13.1 軟件維護與進化的概念 1. 核心概念 軟件維護&#xff1a;軟件交付使用后&#xff0c;為糾正錯誤、改善性能或其他屬性而進行的修改過程軟件進化&#xff1a;隨著時間推移&#xff0c;軟件系統為適應環境變化和用戶需求而不斷演變的過程 2. 維護類型&#…

AI Agent助力醫療科研突破

最近&#xff0c;AI Agent在醫療科研領域的突破格外引人注目。非營利組織Future House宣布其多智能體系統Robin在約10周內&#xff0c;為干性年齡相關性黃斑變性&#xff08;dAMD&#xff09;發現了一種潛在新療法&#xff0c;這一成果展示了AI在加速科學發現&#xff0c;特別是…

(高級)高級前端開發者指南:框架運用與綜合實戰

當您已經掌握了HTML5、CSS3和JavaScript的基礎知識后&#xff0c;接下來就是學習現代前端框架和性能優化的高級階段。本文將重點介紹Vue.js/React的組件化開發、狀態管理和路由配置&#xff0c;以及前端性能優化的核心技巧。通過豐富的代碼示例和詳細講解&#xff0c;幫助您在實…

提示詞寫的好,用VSCODE+python+Claude3.5開發edge擴展插件(2)

導入文件夾: 導入擴展成功: 通過網盤分享的文件&#xff1a;Meteor New Tab.zip 鏈接: https://pan.baidu.com/s/1fXOhuoYboO_Afzqhuo5Eew?pwdxeix 提取碼: xeix edge收藏夾書簽過多時在擴展顯示可以搜索篩選,

CUDA加速的線性代數求解器庫cuSOLVER

cuSOLVER是NVIDIA提供的GPU加速線性代數庫&#xff0c;專注于稠密和稀疏矩陣的高級線性代數運算。它建立在cuBLAS和cuSPARSE之上&#xff0c;提供了更高級的線性代數功能。 cuSOLVER主要功能 1. 稠密矩陣運算 矩陣分解: LU分解 (gesvd) QR分解 (geqrf) Cholesky分解 (potrf…

Redis之金字塔模型分層架構

在分布式系統架構中&#xff0c;Redis 憑借其卓越的讀寫性能成為緩存層的核心組件。但如何精準判斷數據是否適合進入 Redis&#xff0c;以及如何科學量化 “高頻查詢” 標準&#xff0c;始終是高性能系統設計的關鍵課題。 數據訪問特征金字塔模型是用于評估數據是否適合進入 R…

JVM 垃圾回收機制深度解析(含圖解)

JVM 垃圾回收機制深度解析&#xff08;含圖解&#xff09; 一、垃圾回收整體流程 垃圾回收圖解 #mermaid-svg-KPtxlwWntQx8TOj3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-KPtxlwWntQx8TOj3 .error-icon{fill…

MySQL快速入門篇---聯合查詢

一、什么是聯合查詢 1.1、概念 聯合查詢是SQL中用于合并多個SELECT語句結果集的操作。條件是被合并的結果集列數相同并且數據類型兼容。也可以說一次查詢涉及兩張或兩張以上的表&#xff0c;就稱為聯合查詢。 1.2、為什么要使用聯合查詢 如果數據被拆分到多個表中&#xff…