今天這篇文章,我們一起了解 Redis 使用中非常重要的兩個(gè)機(jī)制:Reids 持久化和主從復(fù)制。
我們都知道Redis是一個(gè)內(nèi)存數(shù)據(jù)庫,在學(xué)習(xí)主從同步之前,我們首先要想到 Redis 是如何做數(shù)據(jù)持久化的,也就是說要先存儲(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ù)庫(NoSQL),數(shù)據(jù)都存儲(chǔ)在內(nèi)存當(dāng)中,在處理客戶端請(qǐng)求時(shí),所有操作都在內(nèi)存當(dāng)中進(jì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)緩存來用的項(xiàng)目來說,數(shù)據(jù)消失或許問題不大,重新從數(shù)據(jù)源把數(shù)據(jù)加載進(jìn)來就可以了,但如果直接把用戶提交的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)在Redis當(dāng)中,把Redis作為數(shù)據(jù)庫來使用,在其放存儲(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ù)丟失,不過通過redis的主從復(fù)制機(jī)制,就可以避免這種單點(diǎn)故障。
Redis 主從復(fù)制這套架構(gòu),一般我們生產(chǎn)上是不用的,不過這個(gè)確實(shí)一個(gè)難點(diǎn)和重點(diǎn),面試官基本上都會(huì)問到。整明白了,對(duì)于你理解其他各種關(guān)于數(shù)據(jù)同步方案或者中間件的原理思想都是很受用的。
-
Redis
+關(guān)注
關(guān)注
0文章
392瀏覽量
12191
原文標(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)先 登錄
Redis哨兵模式的自動(dòng)故障檢測(cè)與主從切換實(shí)戰(zhàn)
Redis內(nèi)存管理、持久化策略與慢查詢排查分析
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個(gè)工程,復(fù)制粘貼注意事項(xiàng)?
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個(gè)工程,復(fù)制粘貼注意事項(xiàng)?
曙光存儲(chǔ)連續(xù)斬獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng)
一個(gè)硬件SPI兩個(gè)CS操作兩個(gè)norflash,怎么互斥操作兩個(gè)norflash?
深度剖析Redis的兩大持久化機(jī)制
基本半導(dǎo)體連獲兩個(gè)行業(yè)獎(jiǎng)項(xiàng)
Redis集群部署配置詳解
Redis集群部署與性能優(yōu)化實(shí)戰(zhàn)
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】Redis最新8.0.2版本源碼安裝及性能測(cè)試
利用dockerfile搭建mysql主從集群和redis集群
Redis使用重要的兩個(gè)機(jī)制:Reids持久化和主從復(fù)制
評(píng)論