最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis集群的三種部署之主從復(fù)制、哨兵機(jī)制、cluster集群詳解

 更新時(shí)間:2026年05月21日 11:04:32   作者:知識(shí)學(xué)爆omo  
本文介紹了Redis的主要特點(diǎn),包括高性能、數(shù)據(jù)持久化、分布式特性、豐富的數(shù)據(jù)結(jié)構(gòu)、高可用性、開(kāi)源免費(fèi)以及可擴(kuò)展性等七大特點(diǎn),文章還詳細(xì)介紹了三種Redis集群部署方式:主從復(fù)制、哨兵機(jī)制和Cluster集群,并通過(guò)實(shí)驗(yàn)演示了每種方式的具體配置和操作步驟

前言

Redis是常用的非關(guān)系型數(shù)據(jù)庫(kù),具有以下特點(diǎn):

核心特點(diǎn):

  • 高性能:Redis基于內(nèi)存操作,讀寫速度極快,特別適用于對(duì)性能要求高的實(shí)時(shí)應(yīng)用。
  • 數(shù)據(jù)持久化:支持RDB和AOF兩種持久化方式,確保即使在服務(wù)器重啟后也能恢復(fù)數(shù)據(jù)。
  • 分布式特性:通過(guò)主從復(fù)制、哨兵模式或cluster集群模式,Redis可以輕松地構(gòu)建高可用和可擴(kuò)展的服務(wù)。
  • 豐富的數(shù)據(jù)結(jié)構(gòu):提供了多種數(shù)據(jù)結(jié)構(gòu)支持,便于開(kāi)發(fā)人員根據(jù)實(shí)際需求進(jìn)行數(shù)據(jù)建模和處理。
  • 高可用性:支持主從復(fù)制和Sentinel系統(tǒng),實(shí)現(xiàn)高可用性和故障恢復(fù),當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),從節(jié)點(diǎn)可以自動(dòng)接管服務(wù),保證系統(tǒng)的連續(xù)性和穩(wěn)定性。
  • 開(kāi)源免費(fèi):Redis是一種開(kāi)源的軟件,遵守BSD協(xié)議,可以免費(fèi)使用和部署。
  • 可擴(kuò)展性:支持分布式部署,可以通過(guò)分片和復(fù)制等方式實(shí)現(xiàn)高可擴(kuò)展性。本篇文章介紹redis集群的三種部署方式,包括主從復(fù)制、哨兵機(jī)制、cluster集群

實(shí)驗(yàn)環(huán)境介紹

1、6臺(tái)1u1g的CentOS7 虛擬機(jī),配置了本地yum倉(cāng)庫(kù)

2、XShell遠(yuǎn)程連接工具

redis安裝部署

Redis的安裝比較簡(jiǎn)單

yum -y install lrzsz

將壓縮包拖入

為Redis安裝依賴關(guān)系

yum -y install tcl gcc

將壓縮包解壓到指定安裝目錄下,編譯安裝

tar -zxf redis-6.2.6.tar.gz -C /usr/sr0
cd /usr/sr0/redis-6.2.6/
make && make install

指定配置文件啟動(dòng)redis,redis會(huì)占用終端,需要放在后臺(tái)

redis-server redis.conf &

查看進(jìn)程,其中6379是redis的默認(rèn)端口

netstat -antp | grep 6379

進(jìn)入redis

redis-cli

redis集群的三種部署方式

一、主從同步

redis的主從同步工作原理簡(jiǎn)單概括為:

1、salve向master發(fā)送sync命令

2、master啟動(dòng)后臺(tái)存盤進(jìn)程,并收集所有修改數(shù)據(jù)命令

3、master完成存盤后,傳送整個(gè)數(shù)據(jù)文件到slave

4、slave接受數(shù)據(jù)文件,加載到內(nèi)存中完成首次完全同步

5、后續(xù)有新數(shù)據(jù)產(chǎn)生時(shí),master繼續(xù)將新的數(shù)據(jù)命令傳遞給slave完成同步

redis的主從同步部署方式比起MySQL更加簡(jiǎn)單,只需要在配置文件中做修改,再指定配置文件啟動(dòng)redis即可

本實(shí)驗(yàn)做一主兩從

準(zhǔn)備三臺(tái)配置一樣的虛擬機(jī),將三臺(tái)虛擬機(jī)的防火墻都關(guān)閉

systemctl stop firewalld.service && systemctl status firewalld.service

先對(duì)擔(dān)任主的第一臺(tái)配置文件進(jìn)行修改

cd /usr/src/redis-6.2.6/
vim redis.conf

修改bind一欄為0.0.0.0,使服務(wù)器監(jiān)聽(tīng)所有可用的網(wǎng)絡(luò)端口

同時(shí)對(duì)從數(shù)據(jù)庫(kù)的配置文件進(jìn)行修改

cd /usr/src/redis-6.2.6/
vim redis.conf

指定主節(jié)點(diǎn)的IP地址和端口號(hào)

重啟三臺(tái)虛擬機(jī)的redis,重新讀取配置文件使配置生效

redis-cli shutdown
redis-server redis.conf &

進(jìn)入redis命令行,查看是否生效

表示擔(dān)任主節(jié)點(diǎn),并且從節(jié)點(diǎn)的數(shù)量為兩臺(tái)

驗(yàn)證:在主節(jié)點(diǎn)寫入數(shù)據(jù),數(shù)據(jù)會(huì)被同步到從節(jié)點(diǎn)上

二、sentinel哨兵機(jī)制

Redis哨兵機(jī)制(Sentinel)是一種高可用性解決方案,用于監(jiān)控和管理Redis集群中的多個(gè)節(jié)點(diǎn)。

1.基本概念

  • 定義:Redis Sentinel是一個(gè)分布式系統(tǒng),由一個(gè)或多個(gè)Sentinel進(jìn)程組成,這些進(jìn)程會(huì)監(jiān)控Redis集群中的主節(jié)點(diǎn)和從節(jié)點(diǎn)的健康狀態(tài)。
  • 功能:主要負(fù)責(zé)監(jiān)控、故障轉(zhuǎn)移、通知和配置管理。

2.工作原理

  • 監(jiān)控:每個(gè)Sentinel進(jìn)程定期通過(guò)PING命令檢查主節(jié)點(diǎn)和從節(jié)點(diǎn)的狀態(tài)。如果發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)不可用,它會(huì)將其標(biāo)記為主觀下線狀態(tài)。
  • 故障判斷:當(dāng)多數(shù)Sentinel實(shí)例確認(rèn)某個(gè)主節(jié)點(diǎn)無(wú)法訪問(wèn)時(shí),它們會(huì)開(kāi)始進(jìn)行故障轉(zhuǎn)移過(guò)程。
  • 故障轉(zhuǎn)移:通過(guò)選舉機(jī)制,選舉出一個(gè)新的主節(jié)點(diǎn),并將原主節(jié)點(diǎn)的從節(jié)點(diǎn)重新配置為新的從節(jié)點(diǎn)。
  • 通知:當(dāng)Redis實(shí)例的狀態(tài)發(fā)生變化時(shí),Sentinel可以通過(guò)通知機(jī)制將故障或恢復(fù)信息發(fā)送給管理員或其他系統(tǒng)。

延續(xù)上面的實(shí)驗(yàn),此時(shí)三臺(tái)redis處于一主二從的狀態(tài)

同時(shí)修改三臺(tái)redis的seentinel配置文件

vim sentinel.conf

指定哨兵主節(jié)點(diǎn)

主節(jié)點(diǎn)ip,端口以及哨兵投票數(shù)量2,當(dāng)有2個(gè)及以上的哨兵認(rèn)為主節(jié)點(diǎn)不可用時(shí)那么就是客觀下線,就需要進(jìn)行主從故障轉(zhuǎn)移

超過(guò)該時(shí)間主節(jié)點(diǎn)沒(méi)有響應(yīng)哨兵,則哨兵會(huì)對(duì)主節(jié)點(diǎn)主觀下線,單位是毫秒

啟動(dòng)哨兵

redis-sentinel sentinel.conf &

查看哨兵狀態(tài)

redis-cli -p 26379
info sentinel

驗(yàn)證:關(guān)閉主服務(wù)器,模擬故障

可以看到迅速進(jìn)行了切換

第一臺(tái)恢復(fù)之后,會(huì)指向新的主服務(wù)器

三、cluster集群

cluster集群是Redis從3.0版本開(kāi)始支持,自帶的一種集群方式。它的原理使用了分布的思想,其數(shù)據(jù)會(huì)均分到所有的主節(jié)點(diǎn)上。此部署方式,當(dāng)數(shù)據(jù)量過(guò)大時(shí),會(huì)讓服務(wù)器均攤壓力。

在各個(gè)主節(jié)點(diǎn)上分配的數(shù)據(jù)都不是全量的。是分片存儲(chǔ)的。目前此種部署方式在生產(chǎn)環(huán)境的較多。至少六臺(tái),三臺(tái)主,三臺(tái)從。

準(zhǔn)備6臺(tái)安裝了redis的虛擬機(jī)

同時(shí)操作:關(guān)閉防火墻,修改配置文件

systemctl stop firewalld.service
cd /usr/src/redis-6.2.6
vim redis.conf

使服務(wù)器監(jiān)聽(tīng)所有可用的網(wǎng)絡(luò)端口

啟用cluster集群

重啟所有的redis

redis-cli shutdown
redis-server redis.conf &

后面都在單臺(tái)redis上操作

創(chuàng)建出cluster集群,需要羅列出每一臺(tái)redis的IP地址和端口號(hào)

redis-cli --cluster create 192.168.0.10:6379 192.168.0.20:6379 192.168.0.30:6379 192.168.0.40:6379 192.168.0.50:6379 192.168.0.60:6379 --cluster-replicas 1

查看集群節(jié)點(diǎn)狀態(tài)

redis-cli
cluster nodes

需要到對(duì)應(yīng)的節(jié)點(diǎn)上去創(chuàng)建數(shù)據(jù)

可以使用-c選項(xiàng)連接到整個(gè)cluster集群,這樣不用頻繁切換終端

關(guān)掉一臺(tái)服務(wù)器,集群狀態(tài)還是正常運(yùn)行

依然是三臺(tái)主節(jié)點(diǎn)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Redis中5種BitMap應(yīng)用場(chǎng)景及實(shí)現(xiàn)介紹

    Redis中5種BitMap應(yīng)用場(chǎng)景及實(shí)現(xiàn)介紹

    Redis BitMap是一種高效的位操作數(shù)據(jù)結(jié)構(gòu),這種結(jié)構(gòu)在處理海量數(shù)據(jù)的布爾型狀態(tài)時(shí)尤其高效,下面小編就來(lái)和大家簡(jiǎn)單介紹一下5種它的應(yīng)用場(chǎng)景及實(shí)現(xiàn)方法吧
    2025-04-04
  • redis批量刪除key的步驟

    redis批量刪除key的步驟

    本文分享最新版Redis批量刪除key的方法,希望能幫到遇到同樣問(wèn)題的網(wǎng)友。
    2020-09-09
  • 一文詳解如何停止/重啟/啟動(dòng)Redis服務(wù)

    一文詳解如何停止/重啟/啟動(dòng)Redis服務(wù)

    Redis是當(dāng)前比較熱門的NOSQL系統(tǒng)之一,它是一個(gè)key-value存儲(chǔ)系統(tǒng),這篇文章主要給大家介紹了關(guān)于如何停止/重啟/啟動(dòng)Redis服務(wù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Redis主從復(fù)制搭建、哨兵搭建、集群搭建全過(guò)程

    Redis主從復(fù)制搭建、哨兵搭建、集群搭建全過(guò)程

    本文詳細(xì)介紹了Redis主從復(fù)制和哨兵模式的搭建步驟、配置方法以及主從復(fù)制和哨兵模式的特點(diǎn)和應(yīng)用,主從復(fù)制可以實(shí)現(xiàn)讀寫分離和性能擴(kuò)展,同時(shí)提供了容災(zāi)和快速恢復(fù)功能,哨兵模式可以實(shí)現(xiàn)主節(jié)點(diǎn)的自動(dòng)故障轉(zhuǎn)移,提高系統(tǒng)的可用性和可靠性
    2026-03-03
  • Redis的五種基本數(shù)據(jù)類型解讀(String、List、Hash、Set、ZSet)

    Redis的五種基本數(shù)據(jù)類型解讀(String、List、Hash、Set、ZSet)

    本文詳細(xì)介紹了Redis的五種基本數(shù)據(jù)類型(String、List、Hash、Set、ZSet),包括它們的常用指令、應(yīng)用場(chǎng)景以及在Java中的實(shí)現(xiàn),通過(guò)實(shí)操示例,幫助讀者更好地理解和使用Redis
    2025-12-12
  • 詳解Redis瘦身指南

    詳解Redis瘦身指南

    Redis應(yīng)該是開(kāi)發(fā)者最常用的緩存服務(wù)器了,它豐富的數(shù)據(jù)結(jié)構(gòu),快速高效的內(nèi)存操作能幫助開(kāi)發(fā)者迅速完成復(fù)雜功能的設(shè)計(jì),作為一個(gè)內(nèi)存型數(shù)據(jù)庫(kù),Redis經(jīng)常會(huì)遇到內(nèi)存問(wèn)題,今天我們來(lái)談一下Redis常見(jiàn)的內(nèi)存滿的問(wèn)題,介紹一下給 Redis “瘦身”的通用方式。
    2021-05-05
  • Redis分布式鎖防止緩存擊穿的實(shí)現(xiàn)

    Redis分布式鎖防止緩存擊穿的實(shí)現(xiàn)

    本文主要介紹了Redis分布式鎖防止緩存擊穿的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • redis清空所有數(shù)據(jù)的三種方法

    redis清空所有數(shù)據(jù)的三種方法

    本文主要介紹了redis清空所有數(shù)據(jù)的三種方法,主要包括FLUSHALL,FLUSHDB,SCREPT FLUSH這三個(gè)指令,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • NestJS+Redis實(shí)現(xiàn)手寫一個(gè)限流器

    NestJS+Redis實(shí)現(xiàn)手寫一個(gè)限流器

    限流是大型系統(tǒng)必備的保護(hù)措施,本文將結(jié)合redis , lua 腳本 以及 Nestjs Guard 來(lái)實(shí)現(xiàn) 限流的效果,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Redis中RDB與AOF的區(qū)別及說(shuō)明

    Redis中RDB與AOF的區(qū)別及說(shuō)明

    本文詳細(xì)介紹了Redis的兩種主要持久化方式:RDB和AOF,RDB通過(guò)快照方式將數(shù)據(jù)保存到磁盤,適合大規(guī)模數(shù)據(jù)的快速恢復(fù),但數(shù)據(jù)一致性較低,AOF通過(guò)記錄每次的寫操作,提供高數(shù)據(jù)一致性,但恢復(fù)速度較慢,兩種方式可以結(jié)合使用,RDB作為后備,AOF作為主要持久化方式
    2025-12-12

最新評(píng)論

隆林| 武宣县| 黄浦区| 康乐县| 剑阁县| 罗甸县| 民权县| 尉氏县| 临沂市| 泗水县| 嘉义县| 沁水县| 太白县| 探索| 秀山| 冷水江市| 连云港市| 通州区| 阜新| 云浮市| 武夷山市| 修水县| 岚皋县| 和龙市| 出国| 那坡县| 巨野县| 沛县| 龙胜| 漠河县| 金寨县| 察隅县| 璧山县| 大方县| 弥勒县| 长白| 康保县| 清苑县| 泗水县| 乐安县| 吉水县|