20、怎麼保證redis掛掉之後再重啟資料可以進行恢復?
阿新 • • 發佈:2019-01-02
1、面試題
redis的持久化有哪幾種方式?不同的持久化機制都有什麼優缺點?持久化機制具體底層是如何實現的?
2、面試官心裡分析
redis如果僅僅只是將資料快取在記憶體裡面,如果redis宕機了,再重啟,記憶體裡的資料就全部都弄丟了啊。你必須得用redis的持久化機制,將資料寫入記憶體的同時,非同步的慢慢的將資料寫入磁碟檔案裡,進行持久化。
如果redis宕機了,重啟啟動,自動從磁碟上載入之前持久化的一些資料,就可以了,也許會丟失少許資料,但是至少不會將所有資料都弄丟 。
這個其實一樣,針對的都是redis的生產環境可能遇到的一些問題,就是redis要是掛了再重啟,記憶體裡的資料不就全丟了?能不能重啟的時候把資料給恢復了?
3、面試題剖析
01、redis持久化機對於生產環境中的災難恢復的意義
很多同學,自己也看過一些redis的資料和書籍,當然可能也看過一些redis視訊課程所有的資料,其實都會講解redis持久化,但是有個問題,我到目前為止,沒有看到有人很仔細的去講解:
redis的持久化意義;
redis的持久化,RDB,AOF,區別;
各自的特點是什麼;
適合什麼場景;
redis的企業級的持久化方案是什麼;
是用來跟哪些企業級的場景結合起來使用的?
redis持久化的意義,在於故障恢復
比如你部署了一個redis,作為cache快取,當然也可以儲存一些較為重要的資料。如果沒有持久化的話,redis遇到災難性故障的時候,就會丟失所有的資料。如果通過持久化將資料搞一份兒在磁碟上去,然後定期比如說同步和備份到一些雲端儲存服務上去,那麼就可以保證資料不丟失全部,還是可以恢復一部分資料回來的。
redis持久化的意義.png