創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站制作、屯留網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、屯留網(wǎng)絡(luò)營(yíng)銷、屯留企業(yè)策劃、屯留品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供屯留建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com這篇文章主要講解了Redis集群的詳細(xì)解析,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
Redis集群詳解
Redis有三種集群模式,分別是:
* 主從模式
* Sentinel模式
* Cluster模式
三種集群模式各有特點(diǎn),關(guān)于Redis介紹可以參考這里:NoSQL(二)——Redis
Redis官網(wǎng):https://redis.io/ ,最新版本6.0.5
主從模式
主從模式介紹
主從模式是三種模式中最簡(jiǎn)單的,在主從復(fù)制中,數(shù)據(jù)庫(kù)分為兩類:主數(shù)據(jù)庫(kù)(master)和從數(shù)據(jù)庫(kù)(slave)。
其中主從復(fù)制有如下特點(diǎn):
* 主數(shù)據(jù)庫(kù)可以進(jìn)行讀寫操作,當(dāng)讀寫操作導(dǎo)致數(shù)據(jù)變化時(shí)會(huì)自動(dòng)將數(shù)據(jù)同步給從數(shù)據(jù)庫(kù)
* 從數(shù)據(jù)庫(kù)一般都是只讀的,并且接收主數(shù)據(jù)庫(kù)同步過來的數(shù)據(jù)
* 一個(gè)master可以擁有多個(gè)slave,但是一個(gè)slave只能對(duì)應(yīng)一個(gè)master
* slave掛了不影響其他slave的讀和master的讀和寫,重新啟動(dòng)后會(huì)將數(shù)據(jù)從master同步過來
* master掛了以后,不影響slave的讀,但redis不再提供寫服務(wù),master重啟后redis將重新對(duì)外提供寫服務(wù)
* master掛了以后,不會(huì)在slave節(jié)點(diǎn)中重新選一個(gè)master
工作機(jī)制:
當(dāng)slave啟動(dòng)后,主動(dòng)向master發(fā)送SYNC命令。master接收到SYNC命令后在后臺(tái)保存快照(RDB持久化)和緩存保存快照這段時(shí)間的命令,然后將保存的快照文件和緩存的命令發(fā)送給slave。slave接收到快照文件和命令后加載快照文件和緩存的執(zhí)行命令。
復(fù)制初始化后,master每次接收到的寫命令都會(huì)同步發(fā)送給slave,保證主從數(shù)據(jù)一致性。
安全設(shè)置:
當(dāng)master節(jié)點(diǎn)設(shè)置密碼后,
客戶端訪問master需要密碼
啟動(dòng)slave需要密碼,在配置文件中配置即可
客戶端訪問slave不需要密碼
缺點(diǎn):
從上面可以看出,master節(jié)點(diǎn)在主從模式中唯一,若master掛掉,則redis無法對(duì)外提供寫服務(wù)。
主從模式搭建
環(huán)境準(zhǔn)備:
master節(jié)點(diǎn) 192.168.30.128
slave節(jié)點(diǎn) 192.168.30.129
slave節(jié)點(diǎn) 192.168.30.130
全部下載安裝:
# cd /software # wget http://download.redis.io/releases/redis-6.0.5.tar.gz # tar zxf redis-5.0.4.tar.gz && mv redis-6.0.5/ /usr/local/redis # cd /usr/local/redis && make && make install # echo $? 0