Redis的讀寫分離

追風人聊Java發表於2021-09-11

1、概述

隨著企業業務的不斷擴大,請求的併發量不斷增長,Redis可能終會出現無法負載的情況,此時我們就需要想辦法去提升Redis的負載能力。

讀寫分離(主從複製)是一個比較簡單的擴充套件方案,使用多臺機器同時執行Redis服務,一臺負責寫服務,多臺負責讀服務,通過多臺伺服器對請求進行負載,大大提高了Redis服務的負載壓力。

最常見的讀寫分離是一主二從的模式,一臺主伺服器負責Redis寫入服務,兩臺從伺服器負責Redis的讀取服務,從伺服器定時從主伺服器複製Redis資料。

今天我們就來聊聊Redis的讀寫分離如何搭建的。

2、讀寫分離的搭建

2.1 場景說明

主伺服器IP:192.168.1.144

從伺服器A IP:192.168.1.22

從伺服器B IP:192.168.1.8

這三臺伺服器上都已經安裝好了Redis環境,安裝方法參見我的另一篇文章《Redis的安裝、基本使用以及與SpringBoot的整合》。

 

2.2 修改從伺服器A和從服務B的Redis配置

replicaof   設定Redis主服務的IP和埠

masterauth    設定Redis主服務的密碼

 

 

2.3 刪除從伺服器A和從伺服器B的資料檔案

# cd /usr/local/redis/db

# rm -rf *.rdb *.aof

 

2.4 重啟從伺服器A和從伺服器B

# cd /etc/init.d/

# ./redis_init_script stop

# ./redis_init_script start

 

2.5 檢視主從狀態

# redis-cli

> AUTH zhuifengren

> info replication

 

主伺服器狀態:

 

 從伺服器A狀態:

 

 從伺服器B狀態:

 

 

 2.6 測試主從複製

此時,在主伺服器,寫入Redis值,在從伺服器就可以讀取。

 

3、綜述

今天介紹了Redis讀寫分離的搭建,相對來說是比較容易的,但讀寫分離有個缺點,當主服務當機後,從服務是不能升級成主服務的。

為了解決這個單點問題,後面我們會介紹Redis的哨兵模式和叢集模式。

希望大家多多評論交流,共同成長。

關注追風人聊Java,每天更新Java乾貨。

 

相關文章