Redis|復制 REPLICA

文章目錄

    • 是什么
    • 能干嘛
    • 怎么玩
    • 案例演示
    • 復制原理和工作流程
    • 復制的缺點

是什么

  • 官網地址:https://redis.io/docs/management/replication/
  • Redis 復制機制用于將數據從一個主節點(Master)復制到一個或多個從節點(Slave),以實現數據冗余、負載均衡和故障恢復。

在這里插入圖片描述

  • 一句話:就是主從復制,master 以寫為主,slave 以讀為主,當 master 數據變化的時候,自動將新的數據異步同步到其他的 slave 數據庫

能干嘛

  • 讀寫分離
  • 容災恢復
  • 數據備份
  • 水平擴容支撐高并發

怎么玩

  • 配從(庫)不配主(庫):在 Redis 主從復制中,“配從不配主”是指只需要配置從節點(Slave)指向主節點(Master),而不需要配置主節點指向從節點。

    • 主節點的主要職責是處理寫操作和數據的變更。主節點不需要知道從節點的存在,它只需要將自己的數據變更傳播給所有連接的從節點。這種設計簡化了主節點的邏輯,使其更專注于數據寫入和同步。
    • 從節點是主動連接到主節點的,而不是主節點去連接從節點。從節點通過 SLAVEOF 命令或配置文件中的 slaveof 指令,明確指定自己要復制的主節點。這種設計使得從節點可以動態地加入或離開復制拓撲,而不影響主節點的運行。
  • 權限細節,重要

    • master 如果配置了 requirepass 參數,需要密碼登錄
    • 那么 slave 就要配置 masterauth 來設置校驗密碼,否則的話 master 會拒絕 slave 的訪問請求
    • 在這里插入圖片描述
  • 基本操作命令

    • info replication,可以查看復制結點的主從關系和配置信息
    • replicaof 主庫IP 主庫端口,一般寫入進 redis.conf 配置文件內,重啟后生效
    • slaveof 主庫IP 主庫端口
      • 每次與 master 斷開之后,都需要重新連接,除非你配置進了 redis.conf 文件
      • 在運行期間修改 slave 節點的信息,如果該數據庫已經是某個主數據庫的從數據庫,那么會停止和原主數據庫的同步關系轉而和新的主數據庫同步,重新拜碼頭
    • slaveof no one,使當前數據庫停止與其他數據庫的同步,轉成主數據庫,自立為王

案例演示

  • 架構說明:

    • 一個 Master 兩個 Slave,三臺虛擬機,每臺都安裝 redis
    • 在這里插入圖片描述
    • 拷貝多個 redis.conf 文件:
      • redis6379.conf
      • redis6380.conf
      • redis6381.conf
  • 小口訣:

    • 三臺虛擬機需要能相互 ping 通且需要注意防火墻配置
    • 三大命令
      1. 主從復制:
        • replicaof 主庫IP 主庫端口
        • 配從(庫)不配主(庫)
      2. 改換門庭:slaveof 新主庫IP 新主庫端口
      3. 自立為王:slaveof no one
  • 修改配置文件細節操作

    1. 開啟daemonize yes:讓程序以守護進程(daemon)模式運行。守護進程是在后臺獨立運行的進程,不與任何終端關聯,通常用于服務器或長時間運行的服務。在這里插入圖片描述

    2. 注釋掉 bind 127.0.0.1:在 Redis 配置文件 redis.conf 中,bind 參數用于指定 Redis 服務器監聽的網絡接口(IP 地址)。默認情況下,Redis 只綁定到 127.0.0.1,這意味著它只能接受來自本機的連接。注釋掉后,Redis 會監聽所有可用的網絡接口(0.0.0.0),允許來自任何 IP 地址的連接,Redis 可以從其他機器訪問,前提是防火墻或安全組允許。在這里插入圖片描述

    3. protected-mode no:在 Redis 配置文件 redis.conf 中,protected-mode 是一個安全特性,用于保護 Redis 實例免受未授權訪問。當你將 protected-mode 設置為 no 時,意味著禁用了這一保護模式。如果 protected-mode 設置為 yes(默認值),Redis 會進入保護模式。在保護模式下,如果 Redis 沒有設置密碼(requirepass)并且沒有明確綁定到所有網絡接口(bind 配置),Redis 只會接受來自 127.0.0.1(本地回環接口)的連接。這是為了防止 Redis 在沒有適當安全配置的情況下暴露在外部網絡中。在這里插入圖片描述

    4. 指定端口在這里插入圖片描述

    5. 指定當前工作目錄,dir在這里插入圖片描述

    6. pid文件名字,pidfile:在 Redis 配置文件 redis.conf 中,pidfile 參數用于指定 Redis 進程 ID(PID)文件的路徑和名稱。PID 文件是一個文本文件,其中包含 Redis 服務器進程的進程 ID(PID)。這個文件通常用于管理和監控 Redis 進程。在這里插入圖片描述

    7. log文件名字,logfile:在 Redis 配置文件 redis.conf 中,logfile 參數用于指定 Redis 日志文件的路徑和名稱。Redis 會將運行時的日志信息(如啟動信息、錯誤信息、調試信息等)寫入該文件,方便排查問題和監控運行狀態。在這里插入圖片描述

    8. requiredpass:在 Redis 配置文件 redis.conf 中,requirepass 參數用于設置 Redis 的訪問密碼。啟用密碼后,客戶端在連接 Redis 時必須提供正確的密碼才能執行操作。這是一個重要的安全特性,用于防止未授權訪問。在這里插入圖片描述

    9. dump.rdb 名字在這里插入圖片描述

    10. aof 文件,appendfilename在這里插入圖片描述

    11. 從機訪問主機的通行密碼 masterauth,必須配置,從機需要配置,主機不用在這里插入圖片描述

  • 常用 3 招

    1. 一主二仆
    2. 薪火相傳
    3. 反客為主

復制原理和工作流程

復制的缺點

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

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

相關文章

對象存儲之Ceph

Ceph 對象存儲概述 Ceph 是一個開源分布式存儲系統,旨在提供高度可擴展、高度可用、容錯、性能優異的存儲解決方案。它結合了塊存儲、文件系統存儲和對象存儲的功能,且在設計上具有極高的可擴展性和靈活性。 在 Ceph 中,對象存儲&#xff0…

Document對象

DOM4j中,獲得Document對象的方式有三種: 1.讀取XML文件,獲得document對象 SAXReader reader new SAXReader(); Document document reader.read(new File("input.xml")); 2.解析XML形式的文本,得到document對象…

樹莓集團南京產業園再布局:深入剖析背后邏輯

在產業園區蓬勃發展的當下,樹莓集團在南京的產業園再布局行動備受矚目。這一舉措并非偶然,其背后蘊含著深刻且多元的戰略邏輯。 一、順應區域產業發展趨勢 南京作為長三角地區的重要城市,產業基礎雄厚且多元。近年來,南京大力推動…

Pytorch實現之腦電波圖像生成

簡介 簡介:采用雙GAN模型架構來生成腦電波與目標圖像。 論文題目:Image Generation from Brainwaves using Dual Generative Adversarial Training(使用雙生成對抗訓練的腦電波圖像生成) 會議:IEEE Global Conference on Consumer Electronics (GCCE) 摘要:表示通過無…

HTML解析 → DOM樹 CSS解析 → CSSOM → 合并 → 渲染樹 → 布局 → 繪制 → 合成 → 屏幕顯示

一、關鍵渲染流程 解析 HTML → 生成 DOM 樹 瀏覽器逐行解析 HTML&#xff0c;構建**DOM&#xff08;文檔對象模型&#xff09;**樹狀結構 遇到 <link> 或 <style> 標簽時會暫停 HTML 解析&#xff0c;開始加載 CSS 解析 CSS → 生成 CSSOM 將 CSS 規則解析為**…

劍指offer - 面試題11 旋轉數組的最小數字

題目鏈接&#xff1a;旋轉數組的最小數字 第一種&#xff1a;正確寫法&#xff08;num[m]和nums[r]比較&#xff09; class Solution { public:/*** 代碼中的類名、方法名、參數名已經指定&#xff0c;請勿修改&#xff0c;直接返回方法規定的值即可** * param nums int整型v…

Spring源碼分析の循環依賴

文章目錄 前言一、循環依賴問題二、循環依賴的解決三、整體流程分析 前言 常見的可能存在循環依賴的情況如下&#xff1a; 兩個bean中互相持有對方作為自己的屬性。 ??類似于&#xff1a; 兩個bean中互相持有對方作為自己的屬性&#xff0c;且在構造時就需要傳入&#xff1a…

Docker 部署 Jenkins持續集成(CI)工具

[TOC](Docker 部署 Jenkins持續集成(CI)工具) 前言 Jenkins 是一個流行的開源自動化工具&#xff0c;廣泛應用于持續集成&#xff08;CI&#xff09;和持續交付&#xff08;CD&#xff09;的環境中。通過 Docker 部署 Jenkins&#xff0c;可以簡化安裝和配置過程&#xff0c;并…

《Effective Objective-C》閱讀筆記(中)

目錄 接口與API設計 用前綴避免命名空間沖突 提供“全能初始化方法” 實現description方法 盡量使用不可變對象 使用清晰而協調的命名方式 方法命名 ?編輯類與協議命名 為私有方法名加前綴 理解OC錯誤模型 理解NSCopying協議 協議與分類 通過委托與數據源協議進行…

C++程序員內功修煉——Linux C/C++編程技術匯總

在軟件開發的宏大版圖中&#xff0c;C 語言宛如一座巍峨的高山&#xff0c;吸引著無數開發者攀登探索。而 Linux 操作系統&#xff0c;以其開源、穩定、高效的特性&#xff0c;成為了眾多開發者鐘愛的開發平臺。將 C 與 Linux 相結合&#xff0c;就如同為開發者配備了一把無堅不…

數據庫索引:缺點與類型全解析

在數據庫的世界里&#xff0c;索引就像是一本書的目錄&#xff0c;它能幫助我們快速定位到所需的數據&#xff0c;極大地提升查詢效率。然而&#xff0c;就如同任何事物都有兩面性一樣&#xff0c;索引也并非完美無缺。今天&#xff0c;我們就來深入探討一下索引的缺點以及常見…

【python】提取word\pdf格式內容到txt文件

一、使用pdfminer提取 import os import re from pdfminer.high_level import extract_text import docx2txt import jiebadef read_pdf(file_path):"""讀取 PDF 文件內容:param file_path: PDF 文件路徑:return: 文件內容文本"""try:text ext…

嵌入式八股文(五)硬件電路篇

一、名詞概念 1. 整流和逆變 &#xff08;1&#xff09;整流&#xff1a;整流是將交流電&#xff08;AC&#xff09;轉變為直流電&#xff08;DC&#xff09;。常見的整流電路包括單向整流&#xff08;二極管&#xff09;、橋式整流等。 半波整流&#xff1a;只使用交流電的正…

精選案例展 | 智己汽車—全棧可觀測驅動智能化運營與成本優化

本案例為“觀測先鋒 2024 可觀測平臺創新應用案例大賽”精選案例&#xff0c;同時榮獲IT168“2024技術卓越獎評選-年度創新解決方案”獎。 項目背景 近年來&#xff0c;中國汽車行業進入轉型升級階段&#xff0c;智能網聯技術成為行業發展的核心。車聯網、自動駕駛等技術的加速…

速通HTML

目錄 HTML基礎 1.快捷鍵 2.標簽 HTML進階 1.列表 a.無序列表 b.有序列表 c.定義列表 2.表格 a.內容 b.合并單元格 3.表單 a.input標簽 b.單選框 c.上傳文件 4.下拉菜單 5.文本域標簽 6.label標簽 7.按鈕標簽 8.無語義的布局標簽div與span 9.字符實體 HTML…

【Python模塊】——pymysql

pymysql是python操作mysql的標準庫&#xff0c;可以通過pip install快速導入pymysql包操作數據庫 使用pymysql操作mysql 簡單demo import pymysql connect pymysql.connect(host"localhost",port3306,user"root",password"root",database&quo…

IP離線庫助力破解網絡反詐難題

毫秒級響應識別異常訪問 IP離線庫集成全球全量IP地址的詳細信息&#xff0c;包括地理地址查詢、運營商、經緯度、代理識別等多種維度數據。例如&#xff1a; 當用戶賬號頻繁從北京、越南等多地IP登錄時&#xff0c;系統將自動觸發風險預警&#xff1b; 檢測到訪問IP為已知機…

lattice hdl實現spi接口

在lattice工具鏈中實現SPI接口通常涉及以下步驟: 定義硬件SPI接口的管腳。配置SPI時鐘和模式。編寫SPI主機或從機的控制邏輯。 展示了如何在Lattice工具鏈中使用HDL語言(例如Verilog)來配置SPI接口: lattice工程 頂層:spi_slave_top.v `timescale 1ns/ 1ps module spi_…

Spring 循環依賴解析與解決方案

文章目錄 1. 什么是循環依賴&#xff1f;1.1 概念解析1.2 示例代碼 2. 循環依賴的類型2.1 構造器循環依賴&#xff08;不可解決 ?&#xff09;2.2 Setter 方式或 Autowired 方式的循環依賴&#xff08;可解決 ?&#xff09; 3. 解決循環依賴的方式3.1 方式一&#xff1a;使用…

Cesium@1.126.0,創建3D瓦片,修改樣式

第一步&#xff1a;添加3D建筑 Cesium.createOsmBuildingsAsync()這是一個異步方法&#xff0c;所以要寫在一個異步函數里 創建一個函數 const create3DBuilding async (viewer) > {try {// 添加3D建筑const tileset await Cesium.createOsmBuildingsAsync();viewer.scen…