Redis的四種模式:單機、主從、哨兵、集群

一、簡單理解

單機模式:安裝你的redis,啟動服務即為單機模式。

主從模式:一個主節點搭配一個或多個從節點,無自動故障轉移功能,主節點發生故障后,需要人工將其中一個從節點設置為主節點。

哨兵模式:主從模式加上自動故障轉移功能即為哨兵模式,主節點發生故障后,會自動將其中一個從節點設置為主節點。

集群模式:每個節點存儲一部分數據,所有節點的數據匯總即為完整的數據,具有自動故障轉移功能。

二、具體介紹

1.單機模式

在單機模式下,只運行著一個 Redis 服務器實例,這是最簡單的部署方式。

優點: 部署簡單,適合開發和測試環境。

缺點: 存在單點故障,沒有數據冗余或者故障轉移的能力,且性能受限于單臺機器。

原理: 所有的數據存儲與處理都在單一實例上進行。

2.主從模式(或稱主從復制模式)

主從模式涉及一個主節點(master)和一個或多個從節點(slave)。從節點是主節點的精確副本,并可以用于讀操作,以分擔主節點的負載。

優點: 讀操作可以擴展,通過增加從節點數量。從節點可以在主節點故障時實現故障轉移。

缺點: 所有的寫操作都必須在主節點進行,因此寫操作的擴展性受限。此外,在主節點失效的情況下,系統并不會自動進行故障轉移到從節點。

原理: 主節點負責處理所有寫操作,并將數據更改同步到所有從節點。從節點可以接受客戶端的讀請求。

3.哨兵(Sentinel)模式

哨兵模式是建立在主從模式之上的一個系統。它使用一個或多個 Sentinel 進程來監控主從節點的健康狀況,并自動執行故障轉移操作。

優點: 實現了更高的可用性,提供了自動故障轉移。可以實現主節點的自動選舉及故障通知。

缺點: Sentinel 的部署和配置相對復雜一些,對網絡要求更高,網絡分區可能導致錯誤的故障切換。

原理: Sentinel 進程持續檢查主從節點的健康狀態。如果主節點失效,Sentinel 會選舉一個從節點晉升為新的主節點,其余從節點將更新配置以復制新主節點。

4.集群模式

集群模式允許數據在多個節點間自動分片,每個節點只存儲一部分數據。

優點: 提供高可用性和良好的水平擴展能力。當某個節點失效時,只有該節點的一部分數據不可用,而其他節點繼續工作。

缺點: 集群模式更加復雜,需要更多的維護工作,對硬件和網絡的要求也更高。

原理: 數據根據它們的鍵進行分片,每個分片又稱為一個槽(Slot)。集群內部有16384個槽,每個節點負責其中一部分。當進行數據操作時,Redis 使用CRC16算法對鍵進行哈希計算,然后根據其結果將數據定位到對應的槽,并由相應的節點處理。

注意:

不同的部署模式適應不同的應用場景和需求。

在對數據可靠性和可用性要求極高的生產環境中,通常會選擇哨兵模式或集群模式。

在數據一致性需求高于可用性的場合,哨兵模式可能更合適,因為它能夠較好地保持主從節點間數據的同步。

在需要處理大量數據并且希望實現水平擴展的場景下,集群模式將是更好的選擇。

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

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

相關文章

【微服務專題】SpringBoot自動配置源碼解析

目錄 前言閱讀對象閱讀導航前置知識筆記正文0、什么是自動配置0.1 基本概念0.2 SpringBoot中的【約定大于配置】0.3 從SpringMVC看【約定大于配置】0.4 從Redis看【約定大于配置】 一、EnableAutoConfiguration源碼解析二、SpringBoot常用條件注解源碼解析2.1 自定義條件注解2.…

java 反射和注解1-反射詳解

反射和注解本就是一家人,注解離不開反射,這里先將反射的寫法,本文涉到的注解暫時可以不不用理解 1,創建一個類 public class ReflexUser {public String name;private String namePrivate;protected String nameProtected;Strin…

Arduino庫之 LedControl 庫說明文檔

LedControl 庫最初是為基于 8 位 AVR 處理器的 Arduino 板編寫的。用于通過MAX7219芯片控制LED矩陣和7段數碼管。但由于該代碼不使用處理器的任何復雜的內部功能,因此具有高度可移植性,并且應該在任何支持 和 功能的 Arduino(類似&#xff09…

模擬火車訂票系統---python序列

if __name__ __main__:#創建車輛信息列表list["車次","出發站-到達站","出發時間","到達時間","歷時","余票"]trainNumber[T40,T298,Z158,Z62]address[長春-北京,長春-北京,長春-北京,長春-北京]getTime[00:12,0…

簡單介紹一下js中的構造函數、原型對象prototype、對象原型__proto__、原型鏈

構造函數 function Star (uname, age){this.uname unamethis.age agethis.sing function(){ log(唱歌~) }}let xzq new Star(薛之謙, 30)let ldh new Star(劉德華, 20)log(ldh) // { uname: 劉德華, age: 20, sing: f }ldh.sing() // 唱歌~log(ldh.sing xzq.sing) // fal…

DevEco Studio安裝

HUAWEI DevEco Studio For OpenHarmony(以下簡稱DevEco Studio)是基于IntelliJ IDEA Community開源版本打造,面向OpenHarmony全場景多設備的一站式集成開發環境(IDE),為開發者提供工程模板創建、開發、編譯…

uniapp時間選擇器

Uniapp 是一套基于Vue.js 開發的跨平臺開發框架,它能夠以一套代碼編譯成多個平臺的應用,包括 iOS、Android、H5 等。要實現時間選擇器可以使用uni-app提供的組件picker,它可以用于選擇器、時間選擇器、日期選擇器等場景。 以下是一個簡單的時…

Docker的簡單介紹

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux或Windows操作系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。 Docker…

服務器被入侵了怎么去排查

在當今數字化時代,網絡安全問題變得越來越重要。其中,服務器被入侵是一種常見的安全威脅。當服務器被入侵時,我們需要采取一系列措施來排查和解決問題。本文將為您提供服務器被入侵后的排查步驟。 第一步:確認服務器被入侵 當發現…

用opencv繪制一個箭頭,沿著圓運動并留下運動軌跡(c++)

用opencv繪制一個箭頭,沿著圓運動并留下運動軌跡(c)。基于該例程可以簡單實現一個運動小車的模型。 using namespace cv;int main() {// 創建一個黑色背景的圖像,大小為400*400Mat image(400, 400, CV_8UC3, Scalar(0, 0, 0));//…

C語言進階之路-基本數據小怪篇

目錄 一、學習目標: 二、數據基本類型 整型 浮點型 / 實型 字符 字符串 布爾型數據 三、重要的雜七雜八知識點 常量與變量 標準輸入 sizeof運算符: 類型轉換 數據類型的本質 整型數據尺寸 可移植性整型 拿下第一個C語言程序 總結 一、學…

UE小計:頂部工具欄按鈕添加下拉列表,大綱列表、資源管理窗口右鍵添加按鍵

下拉列表 void FYouPluginsModule::StartupModule() {FYouToolStyle::Initialize();FYouToolStyle::ReloadTextures();FYouToolCommands::Register();PluginCommands MakeShareable(new FUICommandList);PluginCommands->MapAction(FYouToolCommands::Get().PackByCloudAc…

web前端之引入svg圖片、html引入點svg文件、等比縮放、解決裁剪問題、命名空間、object標簽、阿里巴巴尺量圖、embed標簽、iframe標簽

MENU 前言直接在頁面編寫svg使用img標簽引入通過css引入使用object標簽引入其他標簽參考資料 前言 web應用開發使用svg圖片的方式,有如下幾種方式 1、直接在頁面編寫svg 2、使用img標簽引入 3、通過css引入 4、使用object標簽引入 直接在頁面編寫svg 在html頁面直接…

LeetCode Hot100 101.對稱二叉樹

題目&#xff1a; 給你一個二叉樹的根節點 root &#xff0c; 檢查它是否軸對稱。 代碼&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {if(rootnull || (root.leftnull && root.rightnull)) {return true;}//用隊列保存節點LinkedList<…

高防CDN在網站搭建中的優劣勢分析

隨著網絡攻擊的日益增多和惡性化&#xff0c;網站安全性成為網站搭建中至關重要的一環。高防CDN&#xff08;Content Delivery Network&#xff09;作為一種有效的安全防護手段&#xff0c;扮演著保護網站免受惡意攻擊的角色。本文將從網站搭建的角度&#xff0c;深入分析高防C…

vue3+ts+vite 打包報錯 TS2304: Cannot find name ‘xxx‘

都說vue組合式api好&#xff0c;那必須來一套試試&#xff0c;而且element ui的demo全是lang"ts"了 改成組合式api沒問題&#xff0c;但是當加上lang"ts"之后就瘋狂報錯 src/components/table/tableshow.vue:7:28 - error TS2304: Cannot find name tempsh…

【網易云商】構建高效 SaaS 系統的技術要點與最佳實踐

SaaS 是什么 定義 相信大家都對云服務中的 IaaS、PaaS、SaaS 早就有所耳聞&#xff0c;現在更是衍生出了 aPaaS、iPaaS、DaaS 等等的類似概念。對于 SaaS 也有各種各樣的定義&#xff0c;本文給出的定義是&#xff1a; SaaS 是一種基于互聯網提供服務和軟件的交付模式&#xf…

水果編曲軟件FL Studio21.2下載安裝教程

簡稱FL&#xff0c;全稱&#xff1a;Fruity Loops Studio&#xff0c;因此國人習慣叫它"水果"。目前最新版本(包括測試版本)是FL Studio21.2&#xff0c;它讓你的計算機就像是全功能的錄音室&#xff0c;大混音盤&#xff0c;非常先進的制作工具&#xff0c;讓你的音…

工業以太網交換機未來發展中的幾個趨勢

隨著工業自動化不斷發展和智能制造的推進&#xff0c;工業以太網交換機在未來的應用中將面臨更多的發展機遇和挑戰。在工業以太網交換機的未來發展中&#xff0c;有幾個方面將成為趨勢。 網絡虛擬化 隨著工業自動化系統規模的不斷擴展&#xff0c;網絡虛擬化將成為未來的發展方…

總結1065

今日共計學習11h47m&#xff0c;今日圖書館冷清了不少&#xff0c;在最后關頭&#xff0c;越學心里越沒譜。做22年的真題做到懷疑人生&#xff0c;真題每年難度不一&#xff0c;可以出的很難&#xff0c;也可以出得相對簡單。出的難的&#xff0c;計算量大肯定是其中一部分。今…