Redis資料備份與恢複

來源:互聯網
上載者:User

Redis提供了兩種持久化選項,分別是RDB和AOF。

預設情況下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]。

AOF重新整理日誌到disk的規則:
appendfsync always #always 表示每次有寫操作都進行同步,非常慢,非常安全。
appendfsync everysec #everysec表示對寫操作進行累積,每秒同步一次
官方的建議的everysec,安全,就是速度不夠快,如果是機器出現問題可能會丟失1秒的資料。

也可以手動執行bgrewriteaof進行AOF備份:

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

我們現在的做法是一主(Master)多從(Slave),主庫不開啟AOF持久化,只是每天備份一下RDB[官方給的建議是每小時備份RDB檔案,看你的策略了],而在從庫上開啟AOF備份,並且會用指令碼將相應的備份檔案推送到備份伺服器。
當redis伺服器掛掉時,重啟時將按照以下優先順序恢複資料到記憶體: 如果只配置AOF,重啟時載入AOF檔案恢複資料; 如果同時 配置了RBD和AOF,啟動是只載入AOF檔案恢複資料; 如果只配置RBD,啟動是講載入dump檔案恢複資料。

恢複時需要注意,要是主庫掛了不能直接重啟主庫,否則會直接覆蓋掉從庫的AOF檔案,一定要確保要恢複的檔案都正確才能啟動,否則會衝掉原來的檔案。

主從配置執行個體

# vim /etc/redis.conf 
daemonize yes 
port 6379 
/var/redis.pid 
 從伺服器設定  
# vim /etc/redis.conf 
daemonize yes 
port 6300 
slaveof 192.168.1.100 6379 
/var/redis.pid 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.