今天這篇文章,我們一起了解 Redis 使用中非常重要的兩個機制:Reids 持久化和主從復制。
我們都知道Redis是一個內(nèi)存數(shù)據(jù)庫,在學習主從同步之前,我們首先要想到 Redis 是如何做數(shù)據(jù)持久化的,也就是說要先存儲到磁盤上嘛,這樣才方便主從之間的數(shù)據(jù)同步。
此外,因為Redis 主從復制的原理也是后端面試必考知識點,所以先送上一份福利【77道redis高頻面試題匯總(帶答案)】,面試用到率85%!
部分內(nèi)容展示:


回到正題,首先一起了解一下其中一個非常重要的內(nèi)容:Redis的持久化機制。
什么是Redis持久化?
Redis作為一個鍵值對內(nèi)存數(shù)據(jù)庫(NoSQL),數(shù)據(jù)都存儲在內(nèi)存當中,在處理客戶端請求時,所有操作都在內(nèi)存當中進行,如下所示:

這樣做有什么問題呢?
其實,只要稍微有點計算機基礎知識的人都知道,存儲在內(nèi)存當中的數(shù)據(jù),只要服務器關機(各種原因引起的),內(nèi)存中的數(shù)據(jù)就會消失了,不僅服務器關機會造成數(shù)據(jù)消失,Redis服務器守護進程退出,內(nèi)存中的數(shù)據(jù)也一樣會消失。

對于只把Redis當緩存來用的項目來說,數(shù)據(jù)消失或許問題不大,重新從數(shù)據(jù)源把數(shù)據(jù)加載進來就可以了,但如果直接把用戶提交的業(yè)務數(shù)據(jù)存儲在Redis當中,把Redis作為數(shù)據(jù)庫來使用,在其放存儲重要業(yè)務數(shù)據(jù),那么Redis的內(nèi)存數(shù)據(jù)丟失所造成的影響也許是毀滅性。 為了避免內(nèi)存中數(shù)據(jù)丟失,Redis提供了對持久化的支持,我們可以選擇不同的方式將數(shù)據(jù)從內(nèi)存中保存到硬盤當中,使數(shù)據(jù)可以持久化保存。

Redis的主從復制
什么是主從復制
持久化保證了即使redis服務重啟也不會丟失數(shù)據(jù),因為redis服務重啟后將硬盤上持久化的數(shù)據(jù)恢復到內(nèi)存中,但是當redis服務器的硬盤損壞了,可能導致數(shù)據(jù)丟失,不過通過redis的主從復制機制,就可以避免這種單點故障。
Redis 主從復制這套架構,一般我們生產(chǎn)上是不用的,不過這個確實一個難點和重點,面試官基本上都會問到。整明白了,對于你理解其他各種關于數(shù)據(jù)同步方案或者中間件的原理思想都是很受用的。
-
Redis
+關注
關注
0文章
390瀏覽量
11944
原文標題:入門到入土【Redis】持久化與主從復制(原理+實戰(zhàn))
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?
深度剖析Redis的兩大持久化機制
基本半導體連獲兩個行業(yè)獎項
Redis集群部署配置詳解
【幸狐Omni3576邊緣計算套件試用體驗】Redis最新8.0.2版本源碼安裝及性能測試
利用dockerfile搭建mysql主從集群和redis集群
harmony OS NEXT-通過用戶首選項實現(xiàn)數(shù)據(jù)持久化
Redis實戰(zhàn)筆記
Redis Cluster之故障轉移
兩個晶體管能如何實現(xiàn)高效正弦波振蕩?
華為云 Flexus 云服務器 X 實例:在 openEuler 系統(tǒng)下搭建 MySQL 主從復制
Redis緩存與Memcached的比較
ads1013有兩個模擬輸入,可以接不同的兩個模擬輸入嗎?
從時域和頻域兩個角度對信號進行分析

Redis使用重要的兩個機制:Reids持久化和主從復制
評論