redis常用部署架構之redis分片集群。

redis? 3.x版本后開始支持

作用:

1.提升數據讀寫速度

2..提升可用性

分片集群就是將業務服務器產生的數據儲存在不同的機器上。

redis分片集群的架構

如上圖所示,會將數據分散存儲到不同的服務器上,相比于之前來說,redis要處理所有緩存數據的讀寫,而現在數據是分散到不同的服務器上,顯然相比于之前來說讀寫速度會有很大的提升。

redis的分片集群還有一個特性就是會隨機兩兩配對構建成一對主從復制關系。

在分片集群中每份數據都是獨立的關系,并不是將一份完整的數據拆分成多份,而這每份數據之間可能有關系,可能沒關系。

redis分片集群的讀寫原理

在redis分片集群中存儲的數據都是以鍵值對的形式存儲到redis分片集群中。

緩存的目的是為了加速

數據緩存最重要的是當尋找數據的時候,數據的命中率。【即能不能在最少的時間內找到需要的數據。】

在計算機中對數據進行哈希運算,不管是什么數據都可以被哈希算法運算為一個數字,而這個數字的大小總是固定在0-2的32次方之間。

在redis分片集群中一共會產生16384哈希槽,【而這16384個哈希槽會被平均分給每個redis節點。每個redis負責不同槽位的讀寫。】

如上圖所示,在redis分片集群中對于數據的存儲都是對這個key進行哈希運算,隨后拿運算結果,除以16384取余,拿到余數,判斷這個余數是由哪個redis節點負責的,將這個數據儲存到哪個redis節點上。

哈希運算對象僅鍵(Key),與值(Value)無關。

redis分片集群的部署

1.分別在兩臺服務器上安裝redis

2.創建實例目錄,拷貝配置文件

3.編輯實例的配置文件

如上圖所示,這是啟動redis軟件的集群功能,將來可以使用這個redis實例去部署集群。

如上圖所示,這是集群的配置文件。將redis實例添加到集群中的時候還需要有一個相應的配置文件。

如上圖所示,這是集群之間相互通信的超時時間單位是毫秒。

如上圖所示,我們將7001的配置文件拷貝給7002的實例一份,隨后將這個拷貝文件中的7001全部替換成7002.

4.啟動實例

如上圖所示,多啟動的端口就是多個redis實例之間進行相互通信的。

5.創建分片集群

如上圖所示,先去創建對應的目錄,隨后復制對應的配置文件,隨后用for循環和sed工具去修改配置文件中的內容,

如上圖所示,此時這個另外一臺機器上的三個redis實例已經啟動成功,

如上圖所示,這里的1表示每個主服務器配置1個從服務器,當然每個主服務器也可以配置多個從服務器。

6.連接集群,測試數據讀寫

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

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

相關文章

分布式數據庫介紹

分布式數據庫介紹 一、定義與核心概念 分布式數據庫是一種在物理上分散存儲、邏輯上統一管理的數據管理系統,其核心特征包括數據分布性、邏輯關聯性、場地透明性和可擴展性。根據最新定義,分布式數據庫需具備分布式事務處理能力、平滑擴展能力&#xf…

MybatisPlus(SpringBoot版)學習第五講:條件構造器和常用接口

目錄 1.wrapper介紹 2.QueryWrapper 2.1 例1:組轉查詢條件 Compare Nested Join Func 2.2 例2:組裝排序條件 2.3 例3:組裝刪除條件 2.4 例4:條件的優先級 2.5 例5:組裝select子句 2.6 例6:實現子查…

OkHttp 的證書設置

在 Android 開發中,通過 OkHttp 自定義 SSLSocketFactory 和 X509TrustManager 可以有效增強 HTTPS 通信的安全性,防止中間人攻擊(如抓包工具 Charles/Fiddler 的攔截)。以下是實現防抓包的關鍵技術方案: 一、Okhttp設…

計算機視覺算法實戰——手術導航:技術、應用與未來

?個人主頁歡迎您的訪問 ?期待您的三連 ? ?個人主頁歡迎您的訪問 ?期待您的三連 ? ?個人主頁歡迎您的訪問 ?期待您的三連? ??? ????????? ?? 1. 手術導航中的計算機視覺:領域介紹 計算機視覺在手術導航領域的應用代表了現代醫學與人工智…

【科研繪圖系列】R語言繪制PCA與變量的相關性散點圖(scatter plot)

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹加載R包數據下載導入數據畫圖輸出圖片系統信息介紹 【科研繪圖系列】R語言繪制PCA與變量的相關性散點圖(scatter plot) 加載R包 library(tidyverse) library(ggpubr)數據下載 …

深度解析Spring Boot可執行JAR的構建與啟動機制

一、Spring Boot應用打包架構演進 1.1 傳統JAR包與Fat JAR對比 傳統Java應用的JAR包在依賴管理上存在明顯短板,依賴項需要單獨配置classpath。Spring Boot創新的Fat JAR(又稱Uber JAR)解決方案通過spring-boot-maven-plugin插件實現了"…

安科瑞微電網能量管理控制箱,光伏發電的守護者

安科瑞顧強 隨著工業的發展,很多用電設備和工廠設備采用直流系統供電,直流系統的正極和負極不接地。對于不接地(IT)配電系統,應該進行絕緣電阻的監控以保證供電系統的安全運行。 AIM-D100-TS 系列直流絕緣監測儀可以…

[計算機網絡]網絡I/O模型

歡迎來到啾啾的博客🐱。 這是一個致力于構建完善的Java程序員知識體系的博客📚,記錄學習的點滴,分享工作的思考、實用的技巧,偶爾也分享一些雜談💬。 歡迎評論交流,感謝您的閱讀😄。…

Vue中使用JsonView進行JSON數據展示

前言 最近在開發公司的管理系統的操作日志模塊,要查看某條操作日志的請求參數,要將請求的參數以 JSON 格式的形式展示出來,于是用到了Vue-JSON-Viewer 這個插件。 一、Vue-JSON-Viewer 基礎入門 插件簡介 Vue-JSON-Viewer 是一個用于在Vue項…

vue vue3 走馬燈Carousel

背景: 在項目中需要展示多張圖片,但在頁面上只有一張圖片的有限位置,此時考慮使用輪播圖實現多張圖片的展示。element組件官網有走馬燈Carousel的組件詳細介紹。 實現效果: 官網鏈接:點擊跳轉 核心代碼: …

重學vue3(三):vue3基本語法及使用

組合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的選項式 API&#xff0c;強調邏輯復用和代碼組織。基本語法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 響應式數據 const count ref(0); // 基本類…

Spring Boot分布式項目異常處理實戰:從崩潰邊緣到優雅恢復

當單體應用拆分成分布式系統&#xff0c;異常就像被打開的潘多拉魔盒&#xff1a;RPC調用超時、分布式事務雪崩、第三方接口突然罷工…在最近的電商大促中&#xff0c;我們的系統就經歷了這樣的至暗時刻。本文將用真實代碼示例&#xff0c;展示如何構建分布式異常處理體系。 一…

導出sql命令

除了之前提到的 \G 命令&#xff0c;以下是其他優化 MySQL 查詢結果顯示的方法&#xff0c;供你參考&#xff1a; --- ### 1. **使用 \T 命令導出結果到文件** - 在 MySQL 命令行中&#xff0c;使用 \T 文件名 可以將查詢結果以表格形式導出到指定文件&#xff0c;便于后續…

TDengine 3.3.2.0 集群報錯 Post “http://buildkitsandbox:6041/rest/sql“

原因&#xff1a; 初始化時處于內網環境下&#xff0c;Post “http://buildkitsandbox:6041/rest/sql“ 無法訪問 修復&#xff1a; vi /etc/hosts將buildkitsandbox映射為本機節點 外網環境下初始化時沒有該問題

深度解析 BPaaS:架構、原則與研發模式探索

在當今復雜多變的業務環境下&#xff0c;軟件開發面臨著諸多挑戰&#xff0c;如何有效地管理業務復雜性并實現系統的可擴展性成為關鍵。BPaaS應運而生&#xff0c;它作為一種創新的理念和架構模式&#xff0c;改變著企業研發的方式。本文將深入探討 BPaaS 是什么&#xff0c;以…

如何在linux中部署dns服務 主備dns (詳細全過程)

環境centos 7.9 主DNS&#xff1a;192.168.60.131 備DNS&#xff1a;192.168.60.134 我以 chenxingyu0.com 指向 192.168.60.200為例 首先是主dns #!/bin/bash# 檢查是否為 root 用戶 if [ "$(id -u)" ! "0" ]; thenecho "請使用…

操作系統導論——第13章 抽象:地址空間

一、早期系統 從內存來看&#xff0c;早期的機器并沒有提供多少抽象給用戶。基本上&#xff0c;機器的物理內存如圖13.1所示 操作系統曾經是一組函數&#xff08;實際上是一個庫&#xff09;&#xff0c;在內存中&#xff08;在本例中&#xff0c;從物理地址0開始&#xff09;&…

云端存儲新紀元:SAN架構驅動的智能網盤解決方案

一、企業存儲的"不可能三角"破局 1.1 傳統存儲架構的困局 性能瓶頸&#xff1a;NAS架構在1000并發訪問時延遲飆升300%容量限制&#xff1a;傳統RAID擴容需停機維護&#xff0c;PB級存儲擴展耗時超48小時成本矛盾&#xff1a;全閃存陣列每TB成本高達$3000&#xff0…

Android adb自身調試log開關

本文介紹下如何打開adb源碼中的debug log 1.adb源碼log是可以動態打開和關閉的&#xff0c;控制邏輯代碼如下 static NoDestructor<std::mutex> log_mutex; static NoDestructor<CachedProperty> log_property GUARDED_BY(log_mutex)("debug.adbd.logging&q…

Axure RP 9.0教程: 基于動態面板的元件跟隨來實現【音量滑塊】

文章目錄 引言I 音量滑塊的實現步驟添加底層邊框添加覆蓋層基于覆蓋層創建動態面板添加滑塊按鈕設置滑塊拖動效果引言 音量滑塊在播放器類APP應用場景相對較廣,例如調節視頻的亮度、聲音等等。 I 音量滑塊的實現步驟 添加底層邊框 在畫布中添加一個矩形框:500 x 32,圓…