Redis數據備份與恢復

Redis提供了兩種持久化選項,分別是RDBAOFredis

默認狀況下60秒刷新到disk一次[save 60 10000 當有1w條keys數據被改變時],Redis的數據集保存在叫dump.rdb一個二進制文件,這種策略被稱爲快照。 安全

也能夠手動調用Save或BGSAVE命令的: 服務器

1
/usr /local /bin /redis-cli  -h 127.0.0.1  -p  6379  -a  pwd bgsave

快照易恢復,文件也小,可是若是遇到宕機等狀況的時候快照的數據可能會不完整。此時可能須要啓用另外一種持久化方式AOF,在配置文件中打開[appendonly yes]。 app

AOF刷新日誌到disk的規則:
appendfsync always #always 表示每次有寫操做都進行同步,很是慢,很是安全。
appendfsync everysec #everysec表示對寫操做進行累積,每秒同步一次
官方的建議的everysec,安全,就是速度不夠快,若是是機器出現問題可能會丟失1秒的數據。 spa

也能夠手動執行bgrewriteaof進行AOF備份: 日誌

1
/usr /local /bin /redis-cli  -h 127.0.0.1  -p  6379  -a  pwd bgrewriteaof

咱們如今的作法是一主(Master)多從(Slave)只作了讀寫分離,Master負責寫入和AOF持久化,Slave負責讀取。天天經過Slave作RDB備份[官方給的建議是每小時備份RDB文件,看你的策略和業務類型了],而且會用腳本將相應的備份文件推送到備份服務器。
當redis服務器掛掉時,重啓時將按照如下優先級恢復數據到內存: 內存

  • 若是隻配置AOF,重啓時加載AOF文件恢復數據;
  • 若是同時 配置了RBD和AOF,啓動是隻加載AOF文件恢復數據;
  • 若是隻配置RBD,啓動是講加載dump文件恢復數據。

恢復時須要注意,要是主庫掛了不能直接重啓主庫,不然會直接覆蓋掉從庫的AOF文件,必定要確保要恢復的文件都正確才能啓動,不然會沖掉原來的文件。 ci

相關文章
相關標籤/搜索