Redis持久化AOF和RDB對比


RDB持久化

AOF持久化

全量備份,一次保存整個數據庫

增量備份,一次保存一個修改數據庫的命令

保存的間隔較長

保存的間隔默認一秒

數據還原速度快

數據還原速度一般

save會阻塞,但bgsave或者自動不會阻塞

無論是平時還是AOF重寫,都不會阻塞

更適合數據備份,默認開啟

更適合用來保存數據,和一般SQL持久化方式一樣,默認關閉

啟動優先級 : 低

啟動優先級 : 高

體積 : 小

體積 : 大

恢復速度 : 快

恢復速度 : 慢

數據安全性 : 丟數據

數據安全性 : 根據策略決定

輕重 : 重

輕重: 輕

1.在dump rdb過程中,aof如果停止同步,會不會丟失?  

不會,所有的操作緩存在內存隊列里,dump完后后,統一操作

2.aof重寫是什么?

aof重寫就是把內存中的數據逆化成命令,寫入到aof文件,以解決aof日志過大的問題

3.如果rdb和aof文件都存在,優先使用誰恢復數據?

在這種情況下,當redis重啟的時候會優先載入AOF文件來恢復原始的數據,因為在通常情況下AOF文件保存的數據集要比RDB文件完整

4.rdb和aof是否可以同時用?

可以,推薦同時使用

5.恢復時,rdb和aof哪個更快?

rdb快,因為rdb是數據的內存映射,直接載入到內存,而aof是命令,需要逐條執行

6.如何在不用【config set】命令的情況下,將Redis持久化由RDB切換到AOF

利用主從,從機配置AOF重啟后,將生成的AOF文件復制至主機Redis數據目錄,主機配置AOF后再重啟。

注:在 Redis 2.2 或以上版本,通過【config set】可以在不重啟的情況下,從 RDB 切換到 AOF。

1)為最新的 dump.rdb 文件創建一個備份。

2)將備份放到一個安全的地方。

3)執行以下兩條命令: redis-cli> CONFIG SET appendonly yes redis-cli> CONFIG SET save ""

4)確保命令執行之后,數據庫的鍵的數量沒有改變。

5)確保寫命令會被正確地追加到 AOF 文件的末尾。

步驟 3 執行的第一條命令開啟了AOF功能:<font style="color:red">Redis會阻塞直到初始AOF文件創建完成為止</font>,之后Redis會繼續處理命令請求, 並開始將寫入命令追加到 AOF 文件末尾。

步驟 3 執行的第二條命令用於關閉RDB功能。這一步是可選的,如果你願意的話,也可以同時使用RDB和AOF這兩種持久化功能。

不過別忘了在redis.conf中打開AOF功能!否則的話,服務器重啟之后,之前通過【CONFIG SET】設置的配置就會被遺忘,程序會按原來的配置來啟動服務器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM