中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis常見的幾個問題及解決方法

發布時間:2021-08-18 09:44:54 來源:億速云 閱讀:159 作者:chen 欄目:編程語言

本篇內容主要講解“Redis常見的幾個問題及解決方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis常見的幾個問題及解決方法”吧!

 1、如何保證Redis高可用和高并發?

Redis主從架構,一主多從,可以滿足高可用和高并發。出現實例宕機自動進行主備切換,配置讀寫分離緩解Master讀寫壓力。

2、Redis高可用方案具體怎么實施?

使用官方推薦的哨兵(sentinel)機制就能實現,當主節點出現故障時,由Sentinel自動完成故障發現和轉移,并通知應用方,實現高可用性。

它有四個主要功能:

  •  集群監控,負責監控redis master和slave進程是否正常工作。

  •  消息通知,如果某個redis實例有故障,那么哨兵負責發送消息作為報警通知給管理員。

  •  故障轉移,如果master node掛掉了,會自動轉移到slave node上。

  •  配置中心,如果故障轉移發生了,通知client客戶端新的master地址。

3、你能說說Redis哨兵機制的原理嗎?

通過sentinel模式啟動Redis后,自動監控master/slave的運行狀態,基本原理是:心跳機制+投票裁決。

每個sentinel會向其它sentinal、master、slave定時發送消息,以確認對方是否活著,如果發現對方在指定時間內未回應,則暫時認為對方宕機。

若哨兵群中的多數sentinel都報告某一master沒響應,系統才認為該master真正宕機,通過Raft投票算法,從剩下的slave節點中,選一臺提升為master,然后自動修改相關配置。

4、Redis主從架構數據會丟失嗎,為什么?

有兩種數據丟失的情況:

1)異步復制導致的數據丟失:因為master -> slave的復制是異步的,所以可能有部分數據還沒復制到slave,master就宕機了,此時這些部分數據就丟失了。

2)腦裂導致的數據丟失:某個master所在機器突然脫離了正常的網絡,跟其他slave機器不能連接,但是實際上master還運行著,此時哨兵可能就會認為master宕機了,然后開啟選舉,將其他slave切換成了master。這個時候,集群里就會有兩個master,也就是所謂的腦裂。此時雖然某個slave被切換成了master,但是可能client還沒來得及切換到新的master,還繼續寫向舊master的數據可能也丟失了。因此舊master再次恢復的時候,會被作為一個slave掛到新的master上去,自己的數據會清空,重新從新的master復制數據。

5、Redis主從復制的工作原理?

1)一個Slave實例,無論是第一次連接還是重連到Master,它都會發出一個SYNC命令;

2)當Master收到SYNC命令之后,會做兩件事:(a) Master執行BGSAVE,即在后臺保存數據到磁盤(rdb快照文件);(b) Master同時將新收到的寫入和修改數據集的命令存入緩沖區(非查詢類);

3)當Master在后臺把數據保存到快照文件完成之后,Master會把這個快照文件傳送給Slave,而Slave則把內存清空后,加載該文件到內存中;

4)而Master也會把此前收集到緩沖區中的命令,通過Reids命令協議形式轉發給Slave,Slave執行這些命令,實現和Master的同步;

5)Master/Slave此后會不斷通過異步方式進行命令的同步,達到最終數據的同步一致;

6、由于主從延遲導致讀取到過期數據怎么處理?

1)通過scan命令掃庫:當Redis中的key被scan的時候,相當于訪問了該key,同樣也會做過期檢測,充分發揮Redis惰性刪除的策略。這個方法能大大降低了臟數據讀取的概率,但缺點也比較明顯,會造成一定的數據庫壓力,否則影響線上業務的效率。

2)Redis加入了一個新特性來解決主從不一致導致讀取到過期數據問題,增加了key是否過期以及對主從庫的判斷,如果key已過期,當前訪問的master則返回null;當前訪問的是從庫,且執行的是只讀命令也返回null。

7、Redis Key的過期策略有哪些?

1)惰性刪除:當讀/寫一個已經過期的key時,會觸發惰性刪除策略,直接刪除掉這個過期key,很明顯,這是被動的。

2)定期刪除:由于惰性刪除策略無法保證冷數據被及時刪掉,所以 Redis 會定期主動淘汰一批已過期的key。

3)主動刪除:當前已用內存超過maxMemory限定時,觸發主動清理策略。主動設置的前提是設置了maxMemory的值。

到此,相信大家對“Redis常見的幾個問題及解決方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇左市| 黄浦区| 林甸县| 平安县| 青海省| 彭州市| 开平市| 通辽市| 香格里拉县| 彰武县| 德格县| 土默特左旗| 民乐县| 阿拉善盟| 荣成市| 星座| 即墨市| 龙州县| 喜德县| 秀山| 额尔古纳市| 翁源县| 万源市| 腾冲县| 元谋县| 云南省| 建水县| 海宁市| 武强县| 曲靖市| 柳州市| 宁化县| 门源| 莆田市| 忻州市| 博乐市| 铜梁县| 马鞍山市| 兰州市| 易门县| 台安县|