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

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

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

前言

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

核心特點:

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

實驗環(huán)境介紹

1、6臺1u1g的CentOS7 虛擬機(jī),配置了本地yum倉庫

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

redis安裝部署

Redis的安裝比較簡單

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

指定配置文件啟動redis,redis會占用終端,需要放在后臺

redis-server redis.conf &

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

netstat -antp | grep 6379

進(jìn)入redis

redis-cli

redis集群的三種部署方式

一、主從同步

redis的主從同步工作原理簡單概括為:

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

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

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

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

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

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

本實驗做一主兩從

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

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

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

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

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

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

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

指定主節(jié)點的IP地址和端口號

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

redis-cli shutdown
redis-server redis.conf &

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

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

驗證:在主節(jié)點寫入數(shù)據(jù),數(shù)據(jù)會被同步到從節(jié)點上

二、sentinel哨兵機(jī)制

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

1.基本概念

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

2.工作原理

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

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

同時修改三臺redis的seentinel配置文件

vim sentinel.conf

指定哨兵主節(jié)點

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

超過該時間主節(jié)點沒有響應(yīng)哨兵,則哨兵會對主節(jié)點主觀下線,單位是毫秒

啟動哨兵

redis-sentinel sentinel.conf &

查看哨兵狀態(tài)

redis-cli -p 26379
info sentinel

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

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

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

三、cluster集群

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

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

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

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

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

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

啟用cluster集群

重啟所有的redis

redis-cli shutdown
redis-server redis.conf &

后面都在單臺redis上操作

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

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é)點狀態(tài)

redis-cli
cluster nodes

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

可以使用-c選項連接到整個cluster集群,這樣不用頻繁切換終端

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

依然是三臺主節(jié)點

總結(jié)

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

相關(guān)文章

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

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

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

    redis批量刪除key的步驟

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

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

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

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

    本文詳細(xì)介紹了Redis主從復(fù)制和哨兵模式的搭建步驟、配置方法以及主從復(fù)制和哨兵模式的特點和應(yīng)用,主從復(fù)制可以實現(xiàn)讀寫分離和性能擴(kuò)展,同時提供了容災(zāi)和快速恢復(fù)功能,哨兵模式可以實現(xiàn)主節(jié)點的自動故障轉(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)用場景以及在Java中的實現(xiàn),通過實操示例,幫助讀者更好地理解和使用Redis
    2025-12-12
  • 詳解Redis瘦身指南

    詳解Redis瘦身指南

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

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

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

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

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

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

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

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

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

最新評論

金山区| 旌德县| 南岸区| 金山区| 德昌县| 和田县| 洪湖市| 武隆县| 津南区| 桂东县| 秦安县| 洛阳市| 泽普县| 蛟河市| 安龙县| 丹棱县| 资阳市| 义马市| 蕲春县| 乐平市| 博野县| 门源| 新源县| 太谷县| 宜丰县| 江阴市| 沙湾县| 大余县| 大城县| 鄂温| 阿拉善左旗| 郑州市| 嵊泗县| 准格尔旗| 井陉县| 汾阳市| 正阳县| 榆林市| 镇坪县| 灵石县| 德化县|