Redis怎么做持久化


1.redis持久化的兩種方式

2.兩種持久化方式區別

3.兩種持久化方式的使用場景

1.Redis 是內存型數據庫,一般來用作緩存。保存在內存的數據有一個特點, 就是斷電消失,因此一旦 Redis 宕機了,重啟以后保存在 Redis 里面的數據就會消失, 此時服務器在 Redis 里面獲取不到緩存,就會讓緩存無法命中,導致緩存雪崩,請求直接打到 MySQL 上最后讓 MySQL 也宕機。 因此我們需要 Redis 持久化來做災難恢復、數據恢復還有數據庫高可用。

2.Redis 有兩種持久化方式,一種是 RDB、一種是 AOF。 RDB:就是對 Redis 中的數據進行周期性的持久化。類似於快照 AOF:就是對每一條寫入、刪除記錄做日志,Redis 重啟的時候,重啟 AOF 日志重構數據集 如果同時使用兩種,Redis 就會優先實現 AOF,因為數據更加完整

 

RDB: 優點:保存多份完整備份,對 IO 影響小,適合做冷備,並且在宕機后恢復更加快 缺點:一般快照文件生成的間隙在 5min,一旦宕機,就會丟失 5min 的數據。同時如果快照文件過大,會讓服務暫停幾毫秒甚至一秒

AOF: 優點:一般 1s 同步一次,最多丟失 1s 的數據。同步日志是使用 append-only 模式,寫入快,並且日志文件不易破損,尾部破損也容易恢復。並且 AOF 文件大小不會影響性能。 缺點:AOF 日志一般比 RDB 文件大,同時以前 AOF出過 Bug導致數據沒有完整的恢復。

 

一般我們選擇的話,不能單單使用 RBD 會丟失許多數據,也不能單單使用 AOF 恢復速度比較慢,也容易有 bug。推薦同時使用,AOF 保證數據不丟失,RBD 做冷備,一旦 AOF 丟失或者不可用的時候可以用於快速恢復。


免責聲明!

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



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