本文參考 http://blog.csdn.net/qq_28602957/article/details/52732615
Redis是一個支持持久化的內存數據庫,也就是說redis需要經常將內存中的數據同步到硬盤來保證持久化。
redis支持兩種持久化的方式:1、snapshotting(快照)也是默認方式 2、Append-only file(縮寫是aof)的方式
snapshotting(快照)也是默認方式

剛裝完redis的時候沒有dump.rdb文件,滿足快照要求后,系統會自動生成dump.rdb文件,且文件類型為二進制文件。
Append-only file(縮寫是aof)的方式
由於快照方式是在一定的時間間隔做一次,所以redis宕機的話會丟失最后一次快照以后修改的內容,aof有更好的持久化性,使用aof時,redis會將每一個收到的寫命令都通過write函數追加到文件中,當redis重啟時,會通過重新執行文件中保存的寫命令在內存中重建整個數據庫的內容。
但是由於操作系統(OS)會在內核中緩存write做的修改,所以可能不是立即寫到磁盤上的。這樣aof方式的持久化還是有可能會丟失部分修改。
可以通過配置文件告訴redis我們想通過fsync函數強制OS寫入到磁盤的時機。

配置文件為redis.conf
將no改為yes,滿足aof方式后,系統會自動生成一個appendonly.aof文件,且非二進制,用cat查看,里面保存的是剛新加的命令。
