集群Redis

文章目錄

  • 前言
  • 一、Redis主從復制配置
    • 1.1.配置文件redis_master.conf,redis_slave.conf
    • 1.2.啟動服務
    • 1.3.檢查成果
  • 二、Redis集群配置
    • 2.1.服務器40.240.34.91集群配置
    • 2.2.其它服務器xxx.92,xxx.93集群配置
    • 2.3.啟動服務
    • 2.3.啟動集群服務
    • 2.4.檢查成果
  • 三、優劣
  • 四、結束

前言

提示:本文主講兩種redis數據同步形式,1.主從復制配置 2.集群配置

一、Redis主從復制配置

假設只有一臺服務器,配置主從結構, 服務器IP為40.240.34.91

1.1.配置文件redis_master.conf,redis_slave.conf

  • 主節點,端口6379
# 服務端口
port 6379
# 守護進程模式運行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 設置從節點只讀
replica-read-only yes
# 持久化配置
appendonly no  # 持久化,生產可設值yes
protected-mode yes  # 外部訪問,生產環境可設值no,密碼訪問
bind 0.0.0.0 -::1  # 所有IP可連接,也有如配置bind 0.0.0.0
  • 從節點,端口6380
# 服務端口
port 6380
# 守護進程模式運行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 設置從節點只讀
replica-read-only yes
# 綁定主從節點從屬關系(集群模式非此形式綁定關系,這行要注釋掉)
replicaof 127.0.0.1 6379
# 持久化配置
appendonly no  # 持久化,生產可設值yes
protected-mode yes  # 外部訪問,生產環境可設值no,密碼訪問
bind 0.0.0.0 -::1  # 所有IP可連接,也有如配置bind 0.0.0.0

1.2.啟動服務

# 啟動主節點服務
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
# 啟動從節點服務
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf

1.3.檢查成果

->redis-cli -h 40.240.34.91 -p 6379|6380
# 節點狀態
info replication
# 補充一個只是知識點,當在配置文件中忘記綁定從屬關系,可以在進入redis服務后使用命令replicaof 127.0.0.1 6379重新綁定# 關停主節點服務
redis-cli -p 6379 shutdown

二、Redis集群配置

假設有三臺服務器,配置3主3從集群機構, 服務器IP為40.240.34.91, 40.240.34.92, 40.240.34.93

2.1.服務器40.240.34.91集群配置

  • 主節點,端口6379
# **redis_master.conf**# 服務端口
port 6379
# 守護進程模式運行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 設置從節點只讀
replica-read-only yes
# 持久化配置
appendonly no  # 持久化,生產可設值yes
protected-mode yes  # 外部訪問,生產環境可設值no,密碼訪問
bind 0.0.0.0 -::1  # 所有IP可連接,也有如配置bind 0.0.0.0
# 集群模式(主從復制配置,不需要開啟集群模式)
cluster-enabled yes  # 集群模式(yes開啟no關閉)
cluster-config-file nodes-6379.conf  # 集群節點配置文件
cluster-node-timeout 5000  # 節點超時時間
  • 從節點,端口6380
# **redis_slave.conf**# 服務端口
port 6380
# 守護進程模式運行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 設置從節點只讀
replica-read-only yes
# 綁定主從節點從屬關系(集群模式非此形式綁定關系,這行要注釋掉)
# replicaof 127.0.0.1 6379# 持久化配置
appendonly no  # 持久化,生產可設值yes
protected-mode yes  # 外部訪問,生產環境可設值no,密碼訪問
bind 0.0.0.0 -::1  # 所有IP可連接,也有如配置bind 0.0.0.0
# 集群模式(主從復制配置,不需要開啟集群模式)
cluster-enabled yes  # 集群模式(yes開啟no關閉)
cluster-config-file nodes-6379.conf  # 集群節點配置文件
cluster-node-timeout 5000  # 節點超時時間

2.2.其它服務器xxx.92,xxx.93集群配置

將40.240.34.91的文件redis_master.conf, redis_slave.conf分別復制到服務器xxx.92, xxx.93上,注意文件路徑,機器host可能不一致

2.3.啟動服務

# 服務器40.240.34.91的主從服務
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服務器40.240.34.92的主從服務
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服務器40.240.34.93的主從服務
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf

2.3.啟動集群服務

# 創建集群時自動分配主從關系(前三個是主節點,后三個是從節點)
# --cluster-replicas 1 表示每個主節點有 1 個從節點,集群會自動分配主從關系
redis-cli --cluster create 40.240.34.91:6379 40.240.34.92:6379 40.240.34.93:6379 40.240.34.91:6380 40.240.34.92:6380 40.240.34.93:6380 --cluster-replicas 1
# 手動添加從節點到指定主節點
redis-cli --cluster add-node 127.0.0.1:6381 127.0.0.1:6382 --cluster-slave --cluster-master-id 127.0.0.1:6379

2.4.檢查成果

# -c代表集群模式,-a代表密碼
->redis-cli -h 40.240.34.91 -p 6380 -a passwd -c 
# 集群狀態
cluster info
# 檢查集群
redis-cli -a passwd --cluster check 40.240.34.91:6379

三、優劣

模式配置方式使用場景
集群cluster-enabled yes + redis-cli --cluster create高可用、自動分片
主從復制cluster-enabled no + replicaof簡單的主從備份

如果你的目標是 高可用集群,應該用 Redis Cluster,讓集群自動管理主從關系;
如果只是 單機主從備份,就用 主從復制,手動配置 replicaof !

四、結束

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

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

相關文章

ORA-600 kokiasg1故障分析---惜分飛

故障總結:客戶正常關閉數據庫,然后啟動報ORA-600 kokiasg1錯誤,通過對啟動分析確認是由于IDGEN1$序列丟失導致,修復該故障之后,數據庫啟動成功,但是后臺大量報ORA-600 12803,ORA-600 15264等錯誤,業務用戶無法登錄.經過深入分析,發現數據庫字典obj$中所有核心字典的序列全部被刪…

[RPA] 影刀RPA基本知識

1.應用的構成一個應用:由多條指令疊加組成一條指令代表了一個操作動作許多條指令按照一定的邏輯關系編排起來,就構成了一個應用(這里的應用可理解為軟件機器人RPA)一個應用 多個自動化指令的集合 2. 指令的一般構成在XXX對象上,對XXX元素執行…

pytest中測試特定接口

在pytest中只測試特定接口有以下幾種常用方法: 1. 通過測試函數名精確匹配 直接指定測試文件和函數名: pytest test_api.py::test_upload_image_with_library這將只運行test_api.py文件中名為test_upload_image_with_library的測試函數。 2. 使用關鍵字匹…

HMI圖形渲染優化:OpenGL ES與Vulkan的性能對比實戰

HMI 圖形渲染優化:OpenGL ES 與 Vulkan 的性能對比實戰**摘要想讓 HMI 界面的圖形渲染又快又流暢,卻在 OpenGL ES 和 Vulkan 之間糾結不已!用 OpenGL ES,擔心性能不夠強勁,無法滿足復雜場景需求;選 Vulkan&…

Python數據分析基礎01:描述性統計分析

下一篇: 《Python數據分析基礎04:預測性數據分析》 《Python數據分析基礎03:探索性數據分析》 《python數據分析基礎02:數據可視化分析》 《Python數據分析基礎01:描述性統計分析》 描述性統計分析是統計學中最基…

成員不更新項目進度,如何建立進度更新機制

項目成員不及時更新進度的主要原因包括責任不明確、缺乏更新規則、溝通機制不暢、進度意識薄弱、工具使用不當等。其中尤其需要關注的是建立清晰的進度更新規則。明確規定成員應何時、如何、向誰匯報進度情況,使得項目的每項任務都有責任人和明確的更新頻率及形式&a…

JVM 整體架構詳解:線程私有與線程共享內存區域劃分

Java 虛擬機(JVM)作為 Java 程序運行的基礎,其內存模型和線程結構設計直接影響著程序的執行效率和穩定性。本文將從 線程是否共享 的角度出發,對 JVM 的整體內存結構進行清晰分類與簡明解析。一、JVM 內存區域劃分概覽 根據是否被…

【Linux庖丁解牛】— 庫的理解與加載!

1. 目標文件編譯和鏈接這兩個步驟,在Windows下被我們的IDE封裝的很完美,我們?般都是?鍵構建?常?便, 但?旦遇到錯誤的時候呢,尤其是鏈接相關的錯誤,很多?就束??策了。在Linux下,我們之前也學 習過如…

QML事件處理:鼠標、拖拽與鍵盤事件

在QML應用開發中,用戶交互是構建動態界面的核心。本文將全面解析QML中的三大交互事件:鼠標事件、拖拽事件和鍵盤事件,通過實際代碼示例展示如何實現豐富的用戶交互體驗。一、鼠標事件處理1. MouseArea基礎MouseArea是QML中處理鼠標交互的核心…

MySQL 8.0 OCP 1Z0-908 題目解析(20)

題目77 Choose the best answer. Which step or set of steps can be used to rotate the error log? ○ A) Execute SET GLOBAL max_error_count . ○ B) Rename the error log file on disk, and then execute FLUSH ERROR LOGS. ○ C) Execute SET GLOBAL log_error ‘’…

八股學習(四)---MySQL

一、MySQL如何進行SQL調優?我的回答:面試官好!我想從SQL語句本身和數據庫結構兩方面來做MySQL的SQL調優。首先會優化SQL寫法,比如避免用SELECT *、減少子查詢嵌套,用JOIN代替,還有合理使用索引,…

華中科大首創DNN衍射量子芯片登《Science Advances》:3D打印實現160μm3高維邏輯門

01 前言華中科技大學王健/劉駿團隊在《Science Advances》發表突破性研究,利用飛秒激光三維打印技術,制造出全球首個聚合物基超緊湊高維量子光芯片。該芯片僅160微米見方(約頭發絲直徑的1.5倍),卻實現了光子空間模式的…

【排序】插入排序

如果你已經對排序略知一二,現在正在復習排序的一些重點知識 ------------------------------------------------------------------------------------------------------------------------- 點贊收藏🌈,每天更新總結文章(多以圖…

扣子Coze怎么模仿人類輸出(分段輸出)?

效果: 讓AI回復的更像人類 教程: 工作流: 假設大模型節點就是需要的回復,并且已經按句號(。)區別開每句話 后面連接一個 文本處理 節點,選擇“字符串分隔”,按“。”進行分割 分…

Android 應用開發 | 一種限制拷貝速率解決因 IO 過高導致系統卡頓的方法

文章目錄一、問題背景二、代碼實現一、問題背景 經常做 Android 應用的小伙伴應該會有經驗,就是如果應用在寫入文件的時候,即使寫文件的動作是在子線程,也會出現 UI 上的卡頓,這是因為文件的 IO 是由內核去完成的,此時…

力扣面試150(19/150)

7.7 12. 整數轉羅馬數字 七個不同的符號代表羅馬數字,其值如下: 符號值I1V5X10L50C100D500M1000 羅馬數字是通過添加從最高到最低的小數位值的轉換而形成的。將小數位值轉換為羅馬數字有以下規則: 如果該值不是以 4 或 9 開頭,…

數據結構與算法——從遞歸入手一維動態規劃【1】

前言: 簡單記錄對左程云系列算法課程--算法講解066【必備】的學習,這是第一篇。主要提供C代碼和一些簡單的個人理解,如需要細致講解請移步原視頻。 涉及內容: 斐波那契數列、動態規劃 參考視頻: 左程云--算法講解…

搭建個人博客系列--Nacos 注冊中心

基礎項目已完成,接下來就是SpringCloud的各種組件了。 那你又要問:既然有Nacos為什么之前還裝了Apollo? 那你別管,那不得什么都會點,不然怎么找工作。干就完了。 一、安裝Nacos 管他三七二十一,先在doc…

前端實習總結——案例與大綱

以下是一個結合真實場景的前端面試案例,包含面試流程、核心問題、候選人回答思路及面試官考察點,可直觀感受如何在面試中展現實習/項目經歷: 案例背景 候選人:應屆生,有6個月前端實習經歷,參與過“企業內部…

Web前端開發: :where(偽類函數選擇器)

:where(偽類函數選擇器)::where() 是 CSS Selectors Level 4 規范中引入的一個強大的偽類函數選擇器,它允許開發者以簡潔的方式編寫復雜的選擇器,同時具有獨特的優先級特性。核心概念::where() 偽類函數選擇器與 :is() 非常相似&a…