Redis 重写原理
生活随笔
收集整理的這篇文章主要介紹了
Redis 重写原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?注意:重寫aof文件的操作,并沒有讀取舊的aof文件,而是將整個內存中的數據庫內容用命令的方式重寫了一個新的aof文件,替換原有的文件這點和快照有點類似。
# 重寫流程
- 1. redis調用fork ,現在有父子兩個進程 子進程根據內存中的數據庫快照,往臨時文件中寫入重建數據庫狀態的命令
- 2. 父進程繼續處理client請求,除了把寫命令寫入到原來的aof文件中。同時把收到的寫命令緩存起來。這樣就能保證如果子進程重寫失敗的話并不會出問題。
- 3. 當子進程把快照內容寫入已命令方式寫到臨時文件中后,子進程發信號通知父進程。然后父進程把緩存的寫命令也寫入到臨時文件。
- 4. 現在父進程可以使用臨時文件替換老的aof文件,并重命名,后面收到的寫命令也開始往新的aof文件中追加。
總結
以上是生活随笔為你收集整理的Redis 重写原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis日志追加频率
- 下一篇: redis内存行数据库细节