跟我一起學Redis之Redis持久化必知必會
阿新 • • 發佈:2020-12-04
### 前言
Redis是出了名的速度快,那是因為在記憶體中進行資料儲存和操作;如果僅僅是在記憶體中進行資料儲存,那就會導致以下問題:
- 資料隨程序退出而消失:當伺服器斷電或Redis Server程序退出時,記憶體肯定隨之釋放,最後資料也會丟失;可能有些小夥伴認為只是作為快取,資料沒有了,重新從資料庫中讀取放在裡面即可,試想,如果是高併發場景,資料庫豈不是壓力很大;
- 重要資料無法恢復:資料丟失之後無法進行恢復,對於一些重要的資料,只是存在Redis中,而沒有存在關係型資料庫,如果資料丟失便不可恢復;比如刷禮品排行榜,如果資料丟失,使用者肯定不願意的;
對於Redis持久化在工作中和麵試過程中是一個很重要的技術點,必用必考,接下來詳細說說Redis持久化;
### 正文
Redis針對資料持久化有兩種方案,如下:
- **RDB(Redis DataBase)**:快照形式,即指定**時間間隔**將Redis記憶體中的快照資料儲存在物理磁碟上,資料儲存在*.rdb檔案中,以二進位制的形式進行儲存,恢復資料直接載入即可;
- **AOF(Append Only File)**:日誌形式,即將每條**寫命令**以append-only模式記錄在*.aof檔案中,不能修改檔案,只能進行追加;後續恢復資料自動執行日誌檔案中的命令即可恢復資料;
- 混合就是RDB和AOF的結合;
兩種方式都可以通過配置檔案輕鬆搞定,來,咱們先從RDB開始;
**fork**:後續會頻繁提到,簡單解釋一下,fork的作用是複製一個與當前程序一樣的子程序,該子程序的所有資料都和原程序一致。
#### RDB持久化
理論放到後面再說,先來看看實際操作,再來做總結;上次對配置檔案簡單進行說明,這次就直接找到快照那配置就行啦,先看看預設配置:
![1](https://i.loli.net/2020/12/03/LVMGQv7ca32F5PN.png)
通