天天看點

redis 持久化

前言

  redis的所有資料都是儲存到記憶體中的, 那麼, 如果出現了斷電情況, 是不是就會丢失資料. 

  那有什麼辦法來解決這個資料丢失問題呢?

持久化

  redis作為這麼牛B的軟體, 這方面當時是考慮過的, 是以redis給出了兩種方案.

  打開redis.conf配置檔案, 這個檔案在前面安裝的時候提到過.

方案一: 預設 rdb

  rdb: 快照形式, 定期把記憶體中目前時刻的資料儲存到磁盤中.

  

redis 持久化

1. 如果15min内, 有 >=1 個值發生了改變, 則15min儲存一次快照檔案

2. 如果5min内, 有 >=10 個值發生了改變, 則5min會儲存一次快照檔案

3. 如果每分鐘都有 >=10000 個值發生改變, 則每分鐘都會儲存到磁盤中

 按照這種方式, 還是有可能會丢失資料的, 但是丢失資料的量會小很多. 這個是redis預設的持久化方案.

 方案二: aof

aof: append only file. 把所有對redis資料庫的增删改操作的指令, 儲存到檔案中, 資料庫恢複時, 把所有指令執行一遍就可以了

redis 持久化

當把這個設定成yes之後, 在bin目錄下面, 就會出現 appendonly.aof 檔案.

 這種方式對磁盤的操作會變得很頻繁, 這會導緻存儲速度慢一些.

redis 持久化

正常情況下, 不會出現資料丢失的, 主要是斷電這種, 會丢失資料. 一般使用中, 預設的持久化, 就滿足使用了.

速度和持久化是成反比關系的. 根據具體的使用情況, 選擇需要的方案.

繼續閱讀