国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

《面試1v1》Redis主從架構(gòu)

這篇具有很好參考價值的文章主要介紹了《面試1v1》Redis主從架構(gòu)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家??
?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動
?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試
?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》

《面試1v1》Redis主從架構(gòu)

我是 javapub,一名 Markdown 程序員從?????,八股文種子選手。


《面試1v1》 連載中…


我是 javapub,一名 Markdown 程序員從?????,八股文種子選手。

面試官: Redis主從架構(gòu)是什么?它有什么用?

候選人: Redis 主從架構(gòu)就是將一臺 Redis 服務(wù)器設(shè)為主服務(wù)器,其他的 Redis 服務(wù)器設(shè)為從服務(wù)器。它的主要用途有:

  1. 高可用:當(dāng)主服務(wù)器發(fā)生故障時,從服務(wù)器可以頂上繼續(xù)提供服務(wù),實現(xiàn)快速故障遷移。
  2. 負(fù)載均衡:主服務(wù)器處理寫請求,從服務(wù)器處理讀請求,分擔(dān)服務(wù)器壓力。
  3. 數(shù)據(jù)冗余:主服務(wù)器的數(shù)據(jù)可以在從服務(wù)器中備份,防止數(shù)據(jù)丟失。

面試官: Redis 主從復(fù)制的工作流程是怎樣的?

候選人: Redis 主從復(fù)制的工作流程如下:

  1. 首次同步:從服務(wù)器連接主服務(wù)器,發(fā)送 sync 命令,主服務(wù)器執(zhí)行 BGSAVE 生成 RDB 文件并發(fā)送給從服務(wù)器,從服務(wù)器載入 RDB 文件并獲得數(shù)據(jù)集。同時主服務(wù)器也發(fā)送從服務(wù)器連接后產(chǎn)生的寫命令給從服務(wù)器,使其狀態(tài)與主服務(wù)器一致。
  2. 命令傳播:主服務(wù)器繼續(xù)接收寫命令,并將寫命令同步給從服務(wù)器。主從服務(wù)器保持?jǐn)?shù)據(jù)一致。
  3. 斷線重連:如果從服務(wù)器因網(wǎng)絡(luò)故障與主服務(wù)器斷開,會自動嘗試重連。重連后再次執(zhí)行同步操作,得到主服務(wù)器最新的數(shù)據(jù)。

主要的工作流程是:同步階段+命令傳播階段,這兩個階段互相循環(huán),實現(xiàn)主從復(fù)制和數(shù)據(jù)一致性的效果。

面試官: 主從復(fù)制的同步工作是如何實現(xiàn)的?能給出源碼分析嗎?

候選人: 主從復(fù)制的同步工作是在 replicaofCommand() 方法中實現(xiàn)的:

void replicaofCommand(client *c) {
    if (server.masterhost == NULL) { //如果是第一次同步
        server.master = createClient(NULL); //連接主機(jī)
        if (server.master == NULL) {
            addReplyError(c,"Can't connect to MASTER: Connection refused");
            return;
        }
        /* AUTH with the master if required. */
        if (server.masteruser && server.masterauth) {
            ...
        }
        /* Send SYNC and receive BGSAVE response. */
        server.replstate = REDIS_REPL_WAIT_BGSAVE_START; 
        serverLog(REDIS_NOTICE,"Waiting BGSAVE from master");
        if (syncWithMaster() != REDIS_OK) {  // 發(fā)送sync命令
            freeClient(server.master);        
            server.master = NULL;
        }
    } 
}

同步工作的流程如下:

  1. 從服務(wù)器連接主服務(wù)器,發(fā)送 sync 命令。
  2. 主服務(wù)器接收到 sync 命令,執(zhí)行 BGSAVE,同時開始緩沖從服務(wù)器斷開期間產(chǎn)生的寫命令。
  3. BGSAVE 完成,主服務(wù)器將 RDB 文件發(fā)送給從服務(wù)器,同時也發(fā)送緩沖的寫命令。
  4. 從服務(wù)器得到 RDB 文件后載入,執(zhí)行寫命令,數(shù)據(jù)同步完成。

這整個同步過程可以保證從服務(wù)器快速獲取主服務(wù)器的數(shù)據(jù),也為后續(xù)的命令傳播階段奠定基礎(chǔ),主從復(fù)制得以順利進(jìn)行。

面試官: 主從復(fù)制的同步實現(xiàn),你解釋得很詳細(xì),我現(xiàn)在全明白了!Redis 的主從架構(gòu)以及同步原理,你都理解得非常透徹。

《面試1v1》Redis主從架構(gòu)

最近我在更新《面試1v1》系列文章,主要以場景化的方式,講解我們在面試中遇到的問題,致力于讓每一位工程師拿到自己心儀的offer,感興趣可以關(guān)注JavaPub追更!


《面試1v1》 連載中…


??目錄合集:

Gitee:https://gitee.com/rodert/JavaPub

GitHub:https://github.com/Rodert/JavaPub

http://javapub.net.cn文章來源地址http://www.zghlxwxcb.cn/news/detail-512555.html

到了這里,關(guān)于《面試1v1》Redis主從架構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 《面試1v1》ElasticSearch基礎(chǔ)

    《面試1v1》ElasticSearch基礎(chǔ)

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月12日
    瀏覽(18)
  • 《面試1v1》Kafka基礎(chǔ)

    《面試1v1》Kafka基礎(chǔ)

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月13日
    瀏覽(24)
  • 《面試1v1》java注解

    《面試1v1》java注解

    我是 javapub,一名 Markdown 程序員從?????,八股文種子選手。 面試官 :接下來,聊聊Java的注解,它們到底有什么用? 候選人: 注解的用處主要三個: 第一個,編譯期使用。比如@Override確保你正確重寫了方法,@Deprecated表示這個方法以后可能會刪掉。 第二個,運(yùn)行期使用。很多框

    2023年04月23日
    瀏覽(32)
  • 《面試1v1》Spring基礎(chǔ)

    《面試1v1》Spring基礎(chǔ)

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月10日
    瀏覽(19)
  • 《面試1v1》java多線程

    《面試1v1》java多線程

    我是 javapub,一名 Markdown 程序員從?????,八股文種子選手。 面試官 : 說說你對多線程的理解? 候選人: 多線程就是同時運(yùn)行多個線程,實現(xiàn)一件事的并行處理。比如開個程序,同時下載多個文件,同時處理多個客戶端請求等等。 面試官 :那什么是線程安全的?舉個例子? 候選

    2024年02月02日
    瀏覽(23)
  • 《面試1v1》ElasticSearch倒排索引

    《面試1v1》ElasticSearch倒排索引

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月13日
    瀏覽(46)
  • 《面試1v1》ElasticSearch 和 Lucene

    《面試1v1》ElasticSearch 和 Lucene

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月14日
    瀏覽(18)
  • 《面試1v1》G1垃圾回收器

    《面試1v1》G1垃圾回收器

    我是 javapub,一名 Markdown 程序員從?????,八股文種子選手。 面試官 : G1垃圾收集器?聽說很牛逼的樣子! 候選人: 是的,G1是JDK9默認(rèn)的垃圾收集器,代替了CMS收集器。它的目標(biāo)是達(dá)到更高的吞吐量和更短的GC停頓時間。 面試官 : 聽你一說,我就不高興了!G1到底好在哪兒? 候選

    2024年02月08日
    瀏覽(25)
  • 《面試1v1》大廠的Kafka使用場景

    《面試1v1》大廠的Kafka使用場景

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月16日
    瀏覽(19)
  • 《面試1v1》Kafka的ack機(jī)制

    《面試1v1》Kafka的ack機(jī)制

    ?? 作者簡介:王哥,CSDN2022博客總榜Top100??、博客專家?? ?? 技術(shù)交流:定期更新Java硬核干貨,不定期送書活動 ?? 王哥多年工作總結(jié):Java學(xué)習(xí)路線總結(jié), 點擊 突擊面試 ?? 數(shù)十萬人的面試選擇: 面試說人話系列《面試1v1》 我是 javapub,一名 Markdown 程序員從?????,

    2024年02月14日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包