Redis 小白指南(四)- 數據的持久化保存 簡介 因為 redis 將數據保存在記憶體中,很容易誘發的一個問題就是,程式崩潰或伺服器重啟等情況如何保證數據的正常存儲。 當我們以 redis 作為主資料庫使用時,或者將 redis 作為緩存伺服器使用時,在緩存被穿透後會對性能造成很大的影響,所有緩存 ...
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 入門指南》