Redis-14-主從複製

共同進步吧發表於2020-11-23

Redis-14-主從複製

概念 主從複製,是指將一臺Redis伺服器的資料,複製到其他的Redis伺服器。前者稱為主節點 (master/leader),後者稱為從節點(slave/follower);資料的複製是單向的,只能由主節點到從節點。 Master以寫為主,Slave 以讀為主。

預設情況下,每臺Redis伺服器都是主節點; 且一個主節點可以有多個從節點(或沒有從節點),但一個從節點只能有一個主節點。

主從複製的作用主要包括:

1、資料冗餘:主從複製實現了資料的熱備份,是持久化之外的一種資料冗餘方式。

2、故障恢復:當主節點出現問題時,可以由從節點提供服務,實現快速的故障恢復;實際上是一種服務 的冗餘。

3、負載均衡:在主從複製的基礎上,配合讀寫分離,可以由主節點提供寫服務,由從節點提供讀服務 (即寫Redis資料時應用連線主節點,讀Redis資料時應用連線從節點),分擔伺服器負載;尤其是在寫 少讀多的場景下,通過多個從節點分擔讀負載,可以大大提高Redis伺服器的併發量。

4、高可用(叢集)基石:除了上述作用以外,主從複製還是哨兵和叢集能夠實施的基礎,因此說主從復 制是Redis高可用的基礎。

一般來說,要將Redis運用於工程專案中,只使用一臺Redis是萬萬不能的(當機),原因如下:

1、從結構上,單個Redis伺服器會發生單點故障,並且一臺伺服器需要處理所有的請求負載,壓力較 大;

2、從容量上,單個Redis伺服器記憶體容量有限,就算一臺Redis伺服器記憶體容量為256G,也不能將所有 記憶體用作Redis儲存記憶體,一般來說,單臺Redis最大使用記憶體不應該超過20G

電商網站上的商品,一般都是一次上傳,無數次瀏覽的,說專業點也就是"多讀少寫"。

預設情況下,每臺Redis伺服器都是主節點

一般情況下,只用配置從機就好了

認老大!一主(79)二從(80,81)

1.命令列配置(是臨時的)

SLACEOF 127.0.0.1 6379

6380埠的redis認6379埠的做老大
檢視從機配置資訊
在這裡插入圖片描述

檢視主機6379埠的資訊
在這裡插入圖片描述
第二個也是這樣,配置完
在這裡插入圖片描述

2.配置檔案配置(永久)

以6380埠為例
在這裡插入圖片描述

3.細節

主機可以寫,從機只能讀。
在這裡插入圖片描述

主機中的所有資料都會被從機儲存

  • 檢視主機從機資料為空
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 往主機中新增資料

在這裡插入圖片描述

  • 檢視從機資料
    在這裡插入圖片描述
    如果主機當機了,會怎麼樣
  • 關閉主機
    在這裡插入圖片描述
  • 檢視從機狀態,發現還是連線主機的,沒有改變,但是這樣就會不能進行寫操作了,除非手動更改,主機上線後又可以繼續使用
  • 解決方法:配置哨兵模式,會自動再選出一個主機

在這裡插入圖片描述
如果從機當機了,會怎麼樣

  • 關閉從機
    在這裡插入圖片描述
  • 分為兩種情況
    第一種是使用命令列配置的,重啟之後會自動變為主機
    在這裡插入圖片描述

相關文章