Redis 小白指南(四)- 數據的持久化保存
簡介
因為 redis 將數據保存在內存中,很容易誘發的一個問題就是,程序崩潰或服務器重啟等情況如何保證數據的正常存儲。
當我們以 redis 作為主數據庫使用時,或者將 redis 作為緩存服務器使用時,在緩存被穿透后會對性能造成很大的影響,所有緩存同時失效,產生緩存雪崩效應,服務器崩潰。
持久化:將內存中的數據同步保存到硬盤上,在需要的時候將硬盤中的數據進行還原恢復。
持久化的方式:RDB 和 AOF,很多的時候是兩者結合使用。
(1)RDB:根據指定的規則“定時”將內存中的數據存儲到硬盤。
(2)AOF:每次執行命令后將命令本身記錄下來。
目錄
- RDB
- AOF
RDB
快照:當符合一定條件時 redis 會自動將內存中的所有數據生成一份副本並保存到硬盤上。
執行的前提條件:
(1)配置自動快照的規則
(2)用戶執行了 SAVE 或 BGSAVE 命令
(3)執行 FLUSHALL 命令
(4)執行復制時
缺點:一旦 redis 程序退出,會丟失最后一次快照以后更改的所有數據。
AOF
AOF 可以將 redis 執行的每一條寫命令追加到硬盤,造成的缺點就是降低了 redis 的性能。但從保證數據安全的角度來說是完全可以接受的,選用 SSD 可以明顯提高 AOF 的性能。
系列
《Redis 小白指南(三)- 事務、Watch 命令、過期、消息通知、管道、優化內存空間》
【博主】反骨仔
【原文】http://www.cnblogs.com/liqingwen/p/6920935.html
【參考】《Redis 入門指南》