溫馨提示×

溫馨提示×

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

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

redis的場景應用有哪些

發(fā)布時間:2021-12-29 15:18:23 來源:億速云 閱讀:127 作者:iii 欄目:服務器

這篇文章主要介紹“redis的場景應用有哪些”,在日常操作中,相信很多人在redis的場景應用有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”redis的場景應用有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

主從模式

主從模式的應用場景有點類似于數(shù)據庫的主從集群,主從往往是為了讀寫分離、backup 等目的才使用的,所謂主從模式簡單的說就是有多個節(jié)點,里面包含主節(jié)點和從節(jié)點,結構如下圖:

redis的場景應用有哪些

從節(jié)點在保持連接后每隔一個時間節(jié)點會主動的和主節(jié)點通信并發(fā)送同步請求,而后進行同步。

redis的場景應用有哪些

其實在整個流程中,最需要主要的就是數(shù)據間的同步,主要的同步方式有兩種也就是全量同步和增量同步。

全量同步:全量同步一般使用在從節(jié)點剛接入主節(jié)點時進行全量復制,當然你也可以根據你的需求進行主動的全量同步

增量同步:Redis增量復制是指從節(jié)點初始化后開始正常工作時主服務器發(fā)生的寫操作同步到從服務器的過程。 增量復制的過程主要是主服務器每執(zhí)行一個寫 命令就會向從服務器發(fā)送相同的寫 命令,從服務器接收并執(zhí)行收到的寫命令,一般使用緩沖區(qū)、隊列(先進先出)等方式輔助進行增量的同步。

哨兵模式

哨兵模式是為了保證redis的高可用產生的架構,簡單地說就是通過構建1個或多個哨兵對節(jié)點進行監(jiān)控,如果master發(fā)生故障下線之后,哨兵之間會進行投票,在2.8之后使用的是Raft算法進行master選舉,關于這個算法其實這個算法也應用于zookeeper和某些網絡拓撲中,簡單說就是在選舉的過程可通信節(jié)點達成共識后那個投票選舉master,而后進行故障轉移操作。

redis的場景應用有哪些

哨兵是作為一個進程單獨運行在redis中,哨兵之間也是通過該進程進行通信的,這一點和zookeeper的原理也是類似的,假設一個6節(jié)點3個哨兵的集群的結構應該如下圖:

redis的場景應用有哪些

那么哨兵是如何監(jiān)控master下線的呢?

前面也有看到哨兵之間會進行集群的檢測和哨兵之間的互相監(jiān)測,但是哨兵不用做什么配置,因為哨兵巧妙的利用了master的發(fā)布/訂閱機制去自動發(fā)現(xiàn)其它也監(jiān)控了統(tǒng)一master的sentinel節(jié)點,在監(jiān)測master方面一般分為兩種:

主觀下線(Subjectively Down, 簡稱 SDOWN)指的是單個 Sentinel 實例對服務器做出的下線判斷。

客觀下線(Objectively Down, 簡稱 ODOWN)指的是多個 Sentinel 實例在對同一個服務器做出 SDOWN 判斷, 并且通過命令互相交流之后, 得出的服務器下線判斷。 一個 Sentinel 可以通過向另一個 Sentinel 發(fā)送命令來詢問對方是否認為給定的服務器已下線。

分片集群

在上面的部分不管redis主從,還是高可用的 sentinel 哨兵模式。我們所做的這些工作只是保證了數(shù)據備份以及高可用,目前為止我們的程序一直都是向1臺redis寫數(shù)據,其他的redis只是備份而已。在實際使用中一般分片集群使用較多,我為什么要特意強調是分片集群呢,其實上面所說的主從和哨兵都是集群但是他們都是備份式的集群,實際數(shù)據是由一臺進行控制的,所謂分片其實是將不同的數(shù)據按照一定的分布規(guī)則分布在不同的機器上

redis的場景應用有哪些

在redis中,我們的應用在存取數(shù)據的時候需要根據一定的算法(一致性hash)進行計算和存取 ,那么在redis中如何實現(xiàn)數(shù)據分片的呢? 首先Redis至少存在三個數(shù)據分片,每個分片稱為master,假設整個cluster有N個節(jié)點,那么每個節(jié)點都和其他N-1個節(jié)點保持連接和心跳,節(jié)點之間相互通信主要確認節(jié)點是否存活、節(jié)點的數(shù)據版本、投票選擇新的master等

redis的場景應用有哪些

那么我們最終的集群結構大致如下:

redis的場景應用有哪些

到此,關于“redis的場景應用有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

AI