Redis 哨兵模式搭建

Twolp發表於2024-09-07

1.Redis:
Redis是一款基於記憶體的非關係型資料庫(5種型別String 雜湊 List Set Zset)
可能會發生的故障(快取擊穿:某熱點資料或者沒有快取的時候 直接打到資料庫上、快取穿透:大量請求查詢不存在的資料,直接打到資料庫上、快取雪崩:快取過期或者不存在 打到資料庫上)

持久化RDB(Redis Database Backup)和AOF(Append-Only File)是Redis持久化機制的兩種主要方式,用於在Redis伺服器重啟時恢復資料。它們有不同的工作原理和適用場景:
工作原理:RDB是將Redis在記憶體中的資料以快照的形式定期儲存到磁碟上的二進位制檔案。
觸發方式:可以透過配置Redis定時進行自動觸發儲存,也可以透過命令手動觸發儲存。
優點:對於大規模的資料恢復速度較快,因為資料以二進位制檔案的形式儲存,載入速度快。適合用於備份和全量恢復,特別是在資料集較大時,比如幾十GB的資料量。
缺點:如果Redis發生故障,可能會丟失最後一次快照後的所有資料更新,因為RDB是定期生成快照,不是實時的持久化方式。不適合對資料實時性要求非常高的場景,可能會丟失最近的一些修改。

AOF(Append-Only File):
工作原理:AOF透過追加方式記錄每次寫操作的指令到一個檔案中,這些指令以Redis協議的格式儲存。**
觸發方式:可以透過配置Redis定時進行日誌檔案的寫入(fsync),也可以根據需求設定不同的fsync選項,以保證資料持久化的安全性。**
優點:相對於RDB,AOF可以提供更好的資料持久化安全性,因為資料更新操作是追加到檔案末尾的。可以根據需求設定不同的fsync策略,可以在一定程度上控制持久化的效能和安全性之間的平衡。
缺點:AOF檔案通常比RDB檔案大,因為它記錄了每個寫操作,可能導致檔案體積增大。**

在Redis重啟時,AOF檔案較大時恢復速度可能比RDB慢,因為需要逐行執行指令來重建資料。選擇使用RDB還是AOF取決於你的具體需求和對資料恢復速度、實時性的要求:RDB適用於:需要較快速度進行全量備份和恢復 的場景。資料集較大,需要節省儲存空間的場景。AOF適用於:對資料實時性要求較高,不希望丟失大量寫操作的場景。可以接受較長恢復時間,但要求每次寫操作都能持久化到磁碟的場景。在實際應用中,也可以同時使用RDB和AOF來結合它們各自的優勢,以提高資料的可靠性和恢復能力。
2.哨兵模式搭建:


相關文章