redis是一個key-value存儲系統(tǒng)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供葫蘆島網(wǎng)站建設(shè)、葫蘆島做網(wǎng)站、葫蘆島網(wǎng)站設(shè)計、葫蘆島網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、葫蘆島企業(yè)網(wǎng)站模板建站服務(wù),十年葫蘆島做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
概述
在現(xiàn)有企業(yè)中 80%公司大部分使用的是 redis 單機(jī)服務(wù),在實(shí)際的場景當(dāng)中單一節(jié)點(diǎn)的
面臨問題
1. 機(jī)器故障。我們部署到一臺 Redis 服務(wù)器,當(dāng)發(fā)生機(jī)器故障時,需要遷移到另
2. 容量瓶頸。當(dāng)我們有需求需要擴(kuò)容 Redis 內(nèi)存時,從 16G 的內(nèi)存升到 64G,
解決辦法
要實(shí)現(xiàn)分布式數(shù)據(jù)庫的更大的存儲容量和承受高并發(fā)訪問量,我們會將原來集中式數(shù)據(jù)
庫的數(shù)據(jù)分別存儲到其他多個網(wǎng)絡(luò)節(jié)點(diǎn)上。
Redis 為了解決這個單一節(jié)點(diǎn)的問題,也會把數(shù)據(jù)復(fù)制多個副本部署到
什么是主從復(fù)制
主從復(fù)制,是指將一臺 Redis 服務(wù)器的數(shù)據(jù),復(fù)制到其他的 Redis 服務(wù)器。前者稱為主
默認(rèn)情況下,每臺 Redis 服務(wù)器都是主節(jié)點(diǎn);且一個主節(jié)點(diǎn)可以有多個從節(jié)點(diǎn)(或沒有
主從復(fù)制的作用
1. 數(shù)據(jù)冗余:主從復(fù)制實(shí)現(xiàn)了數(shù)據(jù)的熱備份,是持久化之外的一種數(shù)據(jù)冗余方式。
2. 故障恢復(fù):當(dāng)主節(jié)點(diǎn)出現(xiàn)問題時,可以由從節(jié)點(diǎn)提供服務(wù),實(shí)現(xiàn)快速的故障恢
3. 負(fù)載均衡:在主從復(fù)制的基礎(chǔ)上,配合讀寫分離,可以由主節(jié)點(diǎn)提供寫服務(wù),
4. 讀寫分離:可以用于實(shí)現(xiàn)讀寫分離,主庫寫、從庫讀,讀寫分離不僅可以提高
5. 高可用基石:除了上述作用以外,主從復(fù)制還是哨兵和集群能夠?qū)嵤┑幕A(chǔ),
從節(jié)點(diǎn)開啟主從復(fù)制,有 3 種方式:
slaveof <masterip> <masterport>
--slaveof <masterip> <masterport>
slaveof <masterip> <masterport>
通過 info replication 命令可以看到復(fù)制的一些信息主從復(fù)制原理
1)保存主節(jié)點(diǎn)(master)信息。
執(zhí)行 slaveof 后 Redis 會打印如下日志:
2)從節(jié)點(diǎn)(slave)內(nèi)部通過每秒運(yùn)行的定時任務(wù)維護(hù)復(fù)制相關(guān)邏輯,當(dāng)定時任務(wù)發(fā)現(xiàn)
從節(jié)點(diǎn)與主節(jié)點(diǎn)建立網(wǎng)絡(luò)連接
從節(jié)點(diǎn)會建立一個 socket 套接字,從節(jié)點(diǎn)建立了一個端口為 51234 的套接字,專門
如果從節(jié)點(diǎn)無法建立連接,定時任務(wù)會無限重試直到連接成功或者執(zhí)行 slaveof no
節(jié)點(diǎn)連接主節(jié)點(diǎn)失敗時也會每秒打印如下日志,方便發(fā)現(xiàn)問題:
# Error condition on socket for SYNC: {socket_error_reason}
3)發(fā)送 ping 命令。
連接建立成功后從節(jié)點(diǎn)發(fā)送 ping 請求進(jìn)行首次通信,ping 請求主要目的如下:
從節(jié)點(diǎn)發(fā)送的 ping 命令成功返回,Redis 打印如下日志,并繼續(xù)后續(xù)復(fù)制流程:
4)權(quán)限驗(yàn)證。如果主節(jié)點(diǎn)設(shè)置了 requirepass 參數(shù),則需要密碼驗(yàn)證,從節(jié)點(diǎn)必須配
置 masterauth 參數(shù)保證與主節(jié)點(diǎn)相同的密碼才能通過驗(yàn)證;如果驗(yàn)證失敗復(fù)制將終
止,從節(jié)點(diǎn)重新發(fā)起復(fù)制流程。
5)同步數(shù)據(jù)集。主從復(fù)制連接正常通信后,對于首次建立復(fù)制的場景,主節(jié)點(diǎn)會把持
有的數(shù)據(jù)全部發(fā)送給從節(jié)點(diǎn),這部分操作是耗時最長的步驟。
6)命令持續(xù)復(fù)制。當(dāng)主節(jié)點(diǎn)把當(dāng)前的數(shù)據(jù)同步給從節(jié)點(diǎn)后,便完成了復(fù)制的建立流程。
接下來主節(jié)點(diǎn)會持續(xù)地把寫命令發(fā)送給從節(jié)點(diǎn),保證主從數(shù)據(jù)一致性。
以上就是Redis主從復(fù)制介紹及原理詳解的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:Redis的主從復(fù)制是什么,主從復(fù)制的原理又是什么?-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://chinadenli.net/article0/dedjio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、虛擬主機(jī)、云服務(wù)器、網(wǎng)站營銷、域名注冊、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容