這篇文章主要介紹了redis集群數(shù)據(jù)如何同步,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
目前累計(jì)服務(wù)客戶近千家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計(jì)的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。redis沒有像mysql那樣復(fù)制位置的概念,所以Slave和Master斷開連接再重新連接時,會全量取Master的快照,Slave的所有數(shù)據(jù)都會清除,重新建立整個內(nèi)存表,這樣導(dǎo)致Salve恢復(fù)數(shù)據(jù)特別慢,同時也給Master帶來的壓力。
Redis的主從復(fù)制策略是通過其持久化的rdb文件來實(shí)現(xiàn)的,其過程是先dump出rdb文件,將rdb文件全量傳輸給slave,然后再將dump后的操作實(shí)時同步到slave中。讓從服務(wù)器(slave server)成為主服務(wù)器(master server)的精確復(fù)制品。官方文檔ReplicationHowto中提到以下特點(diǎn):
一個master支持多個slave,slave可以接受其他slave的連接,作為其他slave的master,從而形成一個master-slave的多級結(jié)構(gòu)復(fù)制功能不會阻塞主服務(wù)器: 即使有一個或多個從服務(wù)器正在進(jìn)行初次同步, 主服務(wù)器也可以繼續(xù)處理命令請求。復(fù)制功能不會阻塞從服務(wù)器: 只要在 redis.conf 文件中進(jìn)行了相應(yīng)的設(shè)置, 即使從服務(wù)器正在進(jìn)行初次同步, 服務(wù)器也可以使用舊版本的數(shù)據(jù)集來處理命令查詢。不過, 在從服務(wù)器刪除舊版本數(shù)據(jù)集并載入新版本數(shù)據(jù)集的那段時間內(nèi), 連接請求會被阻塞。復(fù)制被利用來提供可擴(kuò)展性,比如可以將slave端用作數(shù)據(jù)冗余,也可以將耗時的命令(比如sort)發(fā)往某些slave從而避免master的阻塞,另外也可以用slave做持久化,由從服務(wù)器去執(zhí)行持久化操作,這只需要將master的配置文件中的save指令注釋掉。
Redis 使用異步復(fù)制。
Redis的主從復(fù)制分為兩個階段:
1)同步操作:將從服務(wù)器的數(shù)據(jù)庫狀態(tài)更新至主服務(wù)器當(dāng)前所處的數(shù)據(jù)庫狀態(tài)。
2)命令傳播:在主服務(wù)器的數(shù)據(jù)庫狀態(tài)被修改,導(dǎo)致主從服務(wù)器的數(shù)據(jù)庫狀態(tài)出現(xiàn)不一致時,讓主從服務(wù)器重新回到一致狀態(tài)。
同步
當(dāng)客戶端向從服務(wù)器發(fā)送 SLAVEOF 命令, 要求從服務(wù)器復(fù)制主服務(wù)器時, 從服務(wù)器首先需要執(zhí)行同步操作, 也即是, 將從服務(wù)器的數(shù)據(jù)庫狀態(tài)更新至主服務(wù)器當(dāng)前所處的數(shù)據(jù)庫狀態(tài)。
從服務(wù)器對主服務(wù)器的同步操作需要通過向主服務(wù)器發(fā)送 SYNC 命令來完成, 以下是 SYNC 命令的執(zhí)行步驟:
從服務(wù)器向主服務(wù)器發(fā)送 SYNC 命令。收到 SYNC 命令的主服務(wù)器執(zhí)行 BGSAVE 命令, 在后臺生成一個 RDB 文件, 并使用一個緩沖區(qū)記錄從現(xiàn)在開始執(zhí)行的所有寫命令。當(dāng)主服務(wù)器的 BGSAVE 命令執(zhí)行完畢時, 主服務(wù)器會將 BGSAVE 命令生成的 RDB 文件發(fā)送給從服務(wù)器, 從服務(wù)器接收并載入這個 RDB 文件, 將自己的數(shù)據(jù)庫狀態(tài)更新至主服務(wù)器執(zhí)行 BGSAVE 命令時的數(shù)據(jù)庫狀態(tài)。主服務(wù)器將記錄在緩沖區(qū)里面的所有寫命令發(fā)送給從服務(wù)器, 從服務(wù)器執(zhí)行這些寫命令, 將自己的數(shù)據(jù)庫狀態(tài)更新至主服務(wù)器數(shù)據(jù)庫當(dāng)前所處的狀態(tài)。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享redis集群數(shù)據(jù)如何同步內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)建站,詳細(xì)的解決方法等著你來學(xué)習(xí)!
網(wǎng)站名稱:redis集群數(shù)據(jù)如何同步-創(chuàng)新互聯(lián)
分享URL:http://m.rwnh.cn/article42/iieec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、商城網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、定制開發(fā)
聲明:本網(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)容