转载:redis备份策略
Redis提供了兩種持久化選項,分別是RDB和AOF。
默認(rèn)情況下60秒刷新到disk一次[save 60 10000 當(dāng)有1w條keys數(shù)據(jù)被改變時],Redis的數(shù)據(jù)集保存在叫dump.rdb一個二進(jìn)制文件,這種策略被稱為快照。
也可以手動調(diào)用Save或BGSAVE命令的:
| 1 | /usr/local/bin/redis-cli?-h?127.0.0.1?-p?6379?-a?pwd?bgsave |
快照易恢復(fù),文件也小,但是如果遇到宕機等情況的時候快照的數(shù)據(jù)可能會不完整。此時可能需要啟用另一種持久化方式AOF,在配置文件中打開[appendonly yes]。
AOF刷新日志到disk的規(guī)則:
appendfsync always #always 表示每次有寫操作都進(jìn)行同步,非常慢,非常安全。
appendfsync everysec #everysec表示對寫操作進(jìn)行累積,每秒同步一次
官方的建議的everysec,安全,就是速度不夠快,如果是機器出現(xiàn)問題可能會丟失1秒的數(shù)據(jù)。
也可以手動執(zhí)行bgrewriteaof進(jìn)行AOF備份:
| 1 | /usr/local/bin/redis-cli?-h?127.0.0.1?-p?6379?-a?pwd?bgrewriteaof |
我們現(xiàn)在的做法是一主(Master)多從(Slave),主庫不開啟AOF持久化,只是每天備份一下RDB[官方給的建議是每小時備份RDB文件,看你的策略了],而在從庫上開啟AOF備份,并且會用腳本將相應(yīng)的備份文件推送到備份服務(wù)器。
當(dāng)redis服務(wù)器掛掉時,重啟時將按照以下優(yōu)先級恢復(fù)數(shù)據(jù)到內(nèi)存:
- 如果只配置AOF,重啟時加載AOF文件恢復(fù)數(shù)據(jù);
- 如果同時 配置了RBD和AOF,啟動是只加載AOF文件恢復(fù)數(shù)據(jù);
- 如果只配置RBD,啟動是講加載dump文件恢復(fù)數(shù)據(jù)。
恢復(fù)時需要注意,要是主庫掛了不能直接重啟主庫,否則會直接覆蓋掉從庫的AOF文件,一定要確保要恢復(fù)的文件都正確才能啟動,否則會沖掉原來的文件。
主從配置實例
# vim /etc/redis.conf?
daemonize yes?
port 6379?
/var/redis.pid?
?從服務(wù)器設(shè)置 ?
# vim /etc/redis.conf?
daemonize yes?
port 6300?
slaveof 192.168.1.100 6379?
/var/redis.pid?
總結(jié)
以上是生活随笔為你收集整理的转载:redis备份策略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: myeclipse 注册码生成代码(6.
- 下一篇: codeblocks下libcurl的配