一、RDB持久化
1、redis文件夾中有一個dump.rdb文件用於持久化,RDB是通過保存鍵值對數據來進行持久化
2、使用save或bgsave命令手動持久化,save阻塞線程,拒絕一切訪問,持久化完成後解除阻塞;bgsave開啓一個子線程進行持久化
3、RDB自動持久化使用bgsave命令,在.conf配置文件中進行配置,默認900秒1次修改;300秒10次修改;60秒10000次修改
二、AOF
1、redis文件夾中有一個appendonly.aof文件用於持久化,AOF是通過保存redis服務器的所執行的寫命令來進行持久化
2、由appendfsync選項的值來決定持久化行爲,包括always,everysec,no三個值,默認使用everysec,每隔一秒就會在子線程中對AOF文件實現一次同步,就算是宕機也只會丟失一秒鐘的數據
3、爲了防止AOF文件越來越大,redis會採取BGREWRITEAOF命令,實現AOF重寫,產生一個新的AOF文件,相比舊的AOF文件體積更小。redis會維護一個AOF重寫緩衝區,創建新的AOF文件期間記錄所有寫命令,當新的AOF文件工作之後,追加到新的AOF文件末尾,之後用新的AOF文件替換舊的AOF文件。