前言
redis的所有資料都是儲存到記憶體中的, 那麼, 如果出現了斷電情況, 是不是就會丢失資料.
那有什麼辦法來解決這個資料丢失問題呢?
持久化
redis作為這麼牛B的軟體, 這方面當時是考慮過的, 是以redis給出了兩種方案.
打開redis.conf配置檔案, 這個檔案在前面安裝的時候提到過.
方案一: 預設 rdb
rdb: 快照形式, 定期把記憶體中目前時刻的資料儲存到磁盤中.

1. 如果15min内, 有 >=1 個值發生了改變, 則15min儲存一次快照檔案
2. 如果5min内, 有 >=10 個值發生了改變, 則5min會儲存一次快照檔案
3. 如果每分鐘都有 >=10000 個值發生改變, 則每分鐘都會儲存到磁盤中
按照這種方式, 還是有可能會丢失資料的, 但是丢失資料的量會小很多. 這個是redis預設的持久化方案.
方案二: aof
aof: append only file. 把所有對redis資料庫的增删改操作的指令, 儲存到檔案中, 資料庫恢複時, 把所有指令執行一遍就可以了
當把這個設定成yes之後, 在bin目錄下面, 就會出現 appendonly.aof 檔案.
這種方式對磁盤的操作會變得很頻繁, 這會導緻存儲速度慢一些.
正常情況下, 不會出現資料丢失的, 主要是斷電這種, 會丢失資料. 一般使用中, 預設的持久化, 就滿足使用了.
速度和持久化是成反比關系的. 根據具體的使用情況, 選擇需要的方案.