1. 程式人生 > >跟我一起學Redis之Redis持久化必知必會

跟我一起學Redis之Redis持久化必知必會

### 前言 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) 通