1. 程式人生 > >redis持久化策略

redis持久化策略

dfs 時間 size 命令 加載 後臺運行 備份方式 加密 進行

1.  redis作為內存數據庫需要保存大量用戶的數據,但是redis中的數據保存到內存中,由於斷電/宕機,肯定會導致內存數據丟失,為了防止數據丟失,采用持久化的方式,實現內存數據的備份;

   當redis內存中有數據時,通過自身的策略有2中方式,一種是RDB模式,一種是AOF(默認);根據自身模式的設定進行數據的持久化;RDB或者AOF都有各自的持久化文件;

   當redis重啟時,會根據配置文件中指定的持久化文件的名稱,加載持久化文件,為了恢復內存的數據;

2.  RDB模式:

   2.1 特點:RDB模式定期將內存中的數據進行持久化,如果用戶允許丟失少量的數據,則首選RDB模式,因為RDB模式定期為內存做快照

;該方式的備份的速度時很快

   2.2 備份命令:(執行redis備份命令需要在客戶端中redis-cli執行

      save(手動備份)-------會造成線程的阻塞,只有當備份操作完成時,才允許執行redis更新操作;

      bgsave(後臺備份)----表示後臺運行,不會造成線程的阻塞,其會挑不忙的時間做數據備份;

   2.3 備份方式:

      save 900 1   在900秒內,redis做一次更新操作,則備份一次

      save 300 10  在300秒內,redis做10次更新操作,則備份一次

      save 60 10000 在60秒內,redis做10000次更新操作,則備份一次

3.  AOF模式:(可以做到實時數據備份,該模式相當於通過配置文件記錄了用戶的全部操作過程);持久化文件明文保存,沒有加密;(AOF模式開啟後,RDB模式不生效!!!)

   3.1 特點:實時的數據備份,安全性好,持久化的速度較RDB模式慢;

         AOF持久化文件的體積很大;當數據恢復時,需要消耗很長的時間;

   3.2 AOF持久化策略:

      appendfsync always----------每次操作都會備份

      appendfsync everysec-------每秒備份一次

      appendfsync no----------------不做操作

redis持久化策略