redis快照--RDB持久化

oOo右右發表於2019-02-21

RDB檔案

redis是基於記憶體的資料庫,redis所有的資料都是儲存到記憶體中的,當redis程式退出,記憶體中所有資料都會全部丟失。

為了解決這個問題,redis提供了rdb持久化功能,rdb持久化可以將記憶體中的資料儲存到磁碟中,避免資料丟失!

通過rdb檔案,可以還原rdb檔案生成時的資料庫狀態!

RDB檔案建立

通過bgsave和save命令:

bgsave save都是redis備份命令,執行後都會在本地備份redis資料生成dump.rdb檔案。

區別如下:

save 命令是阻塞式的,它會阻塞redis服務程式,伺服器不能處理任何命令請求,直到rdb檔案建立完畢。

bgsave命令是非阻塞式的,bgsave命令會派生出一個子程式,然後子程式負責備份建立rdb檔案,伺服器程式(父程式)繼續服務處理命令請求。

 

伺服器週期性自動生成rdb檔案

通過在命令列手動輸入命令備份生成rdb檔案外,還可以通過配置檔案配置save選項,讓server每隔一段時間自動執行bgsave命令:

bgsave和save的區別

bgsave save都是redis備份命令,執行後都會在本地備份redis資料生成dump.rdb檔案。

區別如下:

save 命令是阻塞式的,它會阻塞redis服務程式,伺服器不能處理任何命令請求,直到rdb檔案建立完畢。

bgsave命令是非阻塞式的,bgsave命令會派生出一個子程式,然後子程式負責備份建立rdb檔案,伺服器程式(父程式)繼續服務處理命令請求。

分別執行一次bgsave和save redis log如下:

參考資料:

https://blog.csdn.net/sinat_36333342/article/details/71429810

https://leehao.me/Redis-%E5%BF%AB%E7%85%A7%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/

相關文章