Redis主從復(fù)制機(jī)制
1、讀寫分離的好處
- 性能優(yōu)化:主服務(wù)器專注于寫操作,可以更適合寫入數(shù)據(jù)的模式工作;同樣,從服務(wù)器專注于讀操作,可以用更適合讀取數(shù)據(jù)的模式工作。
- 強(qiáng)化數(shù)據(jù)安全,避免單點(diǎn)故障:由于同步機(jī)制的存在,各個(gè)服務(wù)器之間的數(shù)據(jù)保持一致,所以其中某個(gè)服務(wù)器宕機(jī)不會(huì)導(dǎo)致數(shù)據(jù)丟失或無法訪問,從這個(gè)角度說,參與主從復(fù)制的Redis服務(wù)器構(gòu)成了一個(gè)集群。
2、搭建步驟
- 思路
Redis集群在運(yùn)行時(shí)使用的的是同一個(gè)可執(zhí)行文件,只是對(duì)應(yīng)的配置文件不同。

因此我們不需要安裝過多的Redis。
每個(gè)配置文件相同的參數(shù)是:
daemonize yes
dir /usr/local/cluster-redis
不同的參數(shù)是:
配置項(xiàng)名稱 |
作用 |
取值 |
port |
Redis服務(wù)器啟動(dòng)后監(jiān)聽的端口號(hào) |
5000 6000 7000 |
dbfilename |
RDB文件存儲(chǔ)位置 |
dump5000.rdb dump6000.rdb dump7000.rdb |
logfile |
日志文件位置 |
/var/logs/redis5000.log /var/logs/redis6000.log /var/logs/redis7000.log |
pidfile |
pid文件位置 |
/var/run/redis5000.log /var/run/redis6000.log /var/run/redis7000.log |
- 第一步:創(chuàng)建/usr/local/cluster-redis 目錄
命令
mkdir /usr/local/cluster-redis
cp /etc/redis/redis.conf /usr/local/cluster-redis/

- 第二步:
修改redis配置文件的的相關(guān)配置參數(shù)

要配置的參數(shù)如下:
daemonize yes
dir
port
dbfilename
logfile
pidfile
將上面的參數(shù)一一配置成我們的表格內(nèi)的參數(shù)。
這里我們的配置文件過大影響閱讀,請(qǐng)大家自行配置。
- 第三步運(yùn)行
配置后把我們的集群運(yùn)行起來

執(zhí)行命令:
ps -ef | grep redis | grep -v grep
運(yùn)行效果如下所示:

客戶端登錄如下所示:

3、主從關(guān)系
info replication
運(yùn)行效果如下所示:

顯然他們都是master
在從機(jī)上指定主機(jī)位置即可
slaveof ip port
設(shè)定你當(dāng)前的這個(gè)服務(wù)器為另外一個(gè)服務(wù)器的從服務(wù)器。
運(yùn)行效果如下所示:

master服務(wù)器運(yùn)行結(jié)果如下

|