故障轉移html
一、當redis出現故障,經過Redis 的 gossip 協議,集羣節點經過PING/PONG
消息實現節點通訊,消息不但能夠傳播節點槽信息,還能夠傳播主從狀態、節點故障信息等。所以故障檢測也是就是經過消息傳播機制實現的,而後肯定是當前節點自身,仍是其餘節點redis
二、當故障節點客觀下線了之後,那麼就要自動選舉出一個能夠替代他的從節點,從而保證高可用。sql
經過如下實現故障轉移:數據庫
參考地址:https://blog.csdn.net/men_wen/article/details/73137338服務器
redis應用場景:數據量太大、數據訪問頻率很是低的業務都不適合使用Redis,數據太大會增長成本,訪問頻率過低,保存在內存中浪費資源。框架
https://www.cnblogs.com/shiqi17/p/9581752.htmlmemcached
redis與memcached的對比 : .net
https://www.cnblogs.com/457248499-qq-com/p/7392653.html日誌
兩種持久化方式:code
一、RDB持久化是指在指定的時間間隔內將內存中的數據集快照寫入磁盤,實際操做過程是fork一個子進程,先將數據集寫入臨時文件,寫入成功後,再替換以前的文件,用二進制壓縮存儲。
二、AOF持久化以日誌的形式記錄服務器所處理的每個寫、刪除操做,查詢操做不會記錄,以文本的方式記錄,能夠打開文件看到詳細的操做記錄。
參考地址:
https://blog.csdn.net/jackpk/article/details/30073097
https://www.jb51.net/article/65264.htm
https://www.cnblogs.com/chenliangcl/p/7240350.html
CI框架多個redis部署
https://www.jb51.net/article/133689.htm
總結:
使用redis爲的是縮短接口響應時間,減小數據庫I/O請求以及相應的數據庫數據在程序中的計算,提升QPS,所以不推薦把redis徹底看成數據庫使用。爲了提升項目的可靠性,在使用redis的時候能夠部署若干備用,防止當前(或者節點)redis宕機,從而形成數據丟失,或者sql數據庫壓力過載宕機。相應的開啓redis的持久化避免數據的大量丟失。