今天這篇文章,我們一起了解 Redis 使用中非常重要的兩個(gè)機(jī)制:Reids 持久化和主從復(fù)制。
我們都知道Redis是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),在學(xué)習(xí)主從同步之前,我們首先要想到 Redis 是如何做數(shù)據(jù)持久化的,也就是說(shuō)要先存儲(chǔ)到磁盤上嘛,這樣才方便主從之間的數(shù)據(jù)同步。
此外,因?yàn)镽edis 主從復(fù)制的原理也是后端面試必考知識(shí)點(diǎn),所以先送上一份福利【77道redis高頻面試題匯總(帶答案)】,面試用到率85%!
部分內(nèi)容展示:
	
	
回到正題,首先一起了解一下其中一個(gè)非常重要的內(nèi)容:Redis的持久化機(jī)制。
什么是Redis持久化?
Redis作為一個(gè)鍵值對(duì)內(nèi)存數(shù)據(jù)庫(kù)(NoSQL),數(shù)據(jù)都存儲(chǔ)在內(nèi)存當(dāng)中,在處理客戶端請(qǐng)求時(shí),所有操作都在內(nèi)存當(dāng)中進(jìn)行,如下所示:
	
這樣做有什么問(wèn)題呢?
其實(shí),只要稍微有點(diǎn)計(jì)算機(jī)基礎(chǔ)知識(shí)的人都知道,存儲(chǔ)在內(nèi)存當(dāng)中的數(shù)據(jù),只要服務(wù)器關(guān)機(jī)(各種原因引起的),內(nèi)存中的數(shù)據(jù)就會(huì)消失了,不僅服務(wù)器關(guān)機(jī)會(huì)造成數(shù)據(jù)消失,Redis服務(wù)器守護(hù)進(jìn)程退出,內(nèi)存中的數(shù)據(jù)也一樣會(huì)消失。
	
對(duì)于只把Redis當(dāng)緩存來(lái)用的項(xiàng)目來(lái)說(shuō),數(shù)據(jù)消失或許問(wèn)題不大,重新從數(shù)據(jù)源把數(shù)據(jù)加載進(jìn)來(lái)就可以了,但如果直接把用戶提交的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)在Redis當(dāng)中,把Redis作為數(shù)據(jù)庫(kù)來(lái)使用,在其放存儲(chǔ)重要業(yè)務(wù)數(shù)據(jù),那么Redis的內(nèi)存數(shù)據(jù)丟失所造成的影響也許是毀滅性。 為了避免內(nèi)存中數(shù)據(jù)丟失,Redis提供了對(duì)持久化的支持,我們可以選擇不同的方式將數(shù)據(jù)從內(nèi)存中保存到硬盤當(dāng)中,使數(shù)據(jù)可以持久化保存。
	
Redis的主從復(fù)制
什么是主從復(fù)制
持久化保證了即使redis服務(wù)重啟也不會(huì)丟失數(shù)據(jù),因?yàn)閞edis服務(wù)重啟后將硬盤上持久化的數(shù)據(jù)恢復(fù)到內(nèi)存中,但是當(dāng)redis服務(wù)器的硬盤損壞了,可能導(dǎo)致數(shù)據(jù)丟失,不過(guò)通過(guò)redis的主從復(fù)制機(jī)制,就可以避免這種單點(diǎn)故障。
Redis 主從復(fù)制這套架構(gòu),一般我們生產(chǎn)上是不用的,不過(guò)這個(gè)確實(shí)一個(gè)難點(diǎn)和重點(diǎn),面試官基本上都會(huì)問(wèn)到。整明白了,對(duì)于你理解其他各種關(guān)于數(shù)據(jù)同步方案或者中間件的原理思想都是很受用的。
- 
                                Redis
                                +關(guān)注
關(guān)注
0文章
390瀏覽量
11969 
原文標(biāo)題:入門到入土【Redis】持久化與主從復(fù)制(原理+實(shí)戰(zhàn))
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一個(gè)硬件SPI兩個(gè)CS操作兩個(gè)norflash,怎么互斥操作兩個(gè)norflash?
深度剖析Redis的兩大持久化機(jī)制
基本半導(dǎo)體連獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng)
Redis集群部署配置詳解
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】Redis最新8.0.2版本源碼安裝及性能測(cè)試
利用dockerfile搭建mysql主從集群和redis集群
    
harmony OS NEXT-通過(guò)用戶首選項(xiàng)實(shí)現(xiàn)數(shù)據(jù)持久化
Redis實(shí)戰(zhàn)筆記
    
兩個(gè)不同頻率晶振靠的近會(huì)怎樣
    
Redis Cluster之故障轉(zhuǎn)移
    
兩個(gè)晶體管能如何實(shí)現(xiàn)高效正弦波振蕩?
    
華為云 Flexus 云服務(wù)器 X 實(shí)例:在 openEuler 系統(tǒng)下搭建 MySQL 主從復(fù)制
    
Redis緩存與Memcached的比較
ads1013有兩個(gè)模擬輸入,可以接不同的兩個(gè)模擬輸入嗎?
從時(shí)域和頻域兩個(gè)角度對(duì)信號(hào)進(jìn)行分析
    
          
        
        
Redis使用重要的兩個(gè)機(jī)制:Reids持久化和主從復(fù)制
                
 
           
            
            
                
            
評(píng)論