今天這篇文章,我們一起了解 Redis 使用中非常重要的兩個機制:Reids 持久化和主從復制。
我們都知道Redis是一個內存數據庫,在學習主從同步之前,我們首先要想到 Redis 是如何做數據持久化的,也就是說要先存儲到磁盤上嘛,這樣才方便主從之間的數據同步。
此外,因為Redis 主從復制的原理也是后端面試必考知識點,所以先送上一份福利【77道redis高頻面試題匯總(帶答案)】,面試用到率85%!
部分內容展示:
回到正題,首先一起了解一下其中一個非常重要的內容:Redis的持久化機制。
什么是Redis持久化?
Redis作為一個鍵值對內存數據庫(NoSQL),數據都存儲在內存當中,在處理客戶端請求時,所有操作都在內存當中進行,如下所示:
這樣做有什么問題呢?
其實,只要稍微有點計算機基礎知識的人都知道,存儲在內存當中的數據,只要服務器關機(各種原因引起的),內存中的數據就會消失了,不僅服務器關機會造成數據消失,Redis服務器守護進程退出,內存中的數據也一樣會消失。
對于只把Redis當緩存來用的項目來說,數據消失或許問題不大,重新從數據源把數據加載進來就可以了,但如果直接把用戶提交的業務數據存儲在Redis當中,把Redis作為數據庫來使用,在其放存儲重要業務數據,那么Redis的內存數據丟失所造成的影響也許是毀滅性。 為了避免內存中數據丟失,Redis提供了對持久化的支持,我們可以選擇不同的方式將數據從內存中保存到硬盤當中,使數據可以持久化保存。
Redis的主從復制
什么是主從復制
持久化保證了即使redis服務重啟也不會丟失數據,因為redis服務重啟后將硬盤上持久化的數據恢復到內存中,但是當redis服務器的硬盤損壞了,可能導致數據丟失,不過通過redis的主從復制機制,就可以避免這種單點故障。
Redis 主從復制這套架構,一般我們生產上是不用的,不過這個確實一個難點和重點,面試官基本上都會問到。整明白了,對于你理解其他各種關于數據同步方案或者中間件的原理思想都是很受用的。
-
Redis
+關注
關注
0文章
384瀏覽量
11306
原文標題:入門到入土【Redis】持久化與主從復制(原理+實戰)
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
利用dockerfile搭建mysql主從集群和redis集群

Redis實戰筆記

兩個晶體管能如何實現高效正弦波振蕩?

華為云 Flexus 云服務器 X 實例:在 openEuler 系統下搭建 MySQL 主從復制

評論