Redis如何做到高併發和高可用

2021-10-05 15:12:54 字數 859 閱讀 9068

1、高併發

單機的redis的qps一般在幾萬(官方說法可以達到10萬)。所以對於十萬、百萬甚至千萬級別的qps,單機的redis肯定不能支撐這麼大的訪問量。解決此類高併發問題,可以採用redis的主從架構模式。

主從架構:一主多從實現讀寫分離,主節點負責寫,並將資料同步給其他從節點,從節點負責讀,從而實現高併發。

但是,在主從架構中,每個redis例項都容納了所有的完整資料,比如redis主例項如果有10g的記憶體容量的話,表示最多只能容納10g的資料量。如果要快取更大的資料量,比如幾十g,甚至幾百g,或者是幾t,此時就需要使用redis集群,而且用redis集群之後,可以提供每秒幾十萬的讀寫併發。(也就是說,使用redis集群,一方面可以擴充套件整個redis快取系統中可以儲存的資料量;另一方面也可以提高系統的併發效能)

2、高可用

(1)sentinel哨兵

如果你做主從架構部署,只要加上哨兵就可以實現任何乙個redis例項宕機,自動進行主備切換,保證整個redis系統持續對外提供服務,達到高可用要求。redis sentinel是為redis提供了高可用方案。從實踐方面來說,使用redis sentinel可以建立乙個無需人為干預就可以預防某些故障的redis環境。redis sentinel設計為分布式的架構,執行多個sentinel程序來共同合作的,當多個sentinel判定給定的master無法再繼續提供服務,就會執行故障檢測,從而降低誤報的可能性。

redis sentinel功能:

redis sentinel在redis高可用方案中主要作用有如下功能:

(2)redis集群

3、參考部落格

Redis高併發和高可用

如何保證 redis 的高併發和高可用?redis 的主從複製原理能介紹一下麼?redis 的哨兵原理能介紹一下麼?其實問這個問題,主要是考考你,redis 單機能承載多高併發?如果單機扛不住如何擴容扛更多的併發?redis 會不會掛?既然 redis 會掛那怎麼保證 redis 是高可用的?其實針...

如何保證Redis的高併發和高可用?

就是如果你用redis快取技術的話,肯定要考慮如何用redis來加多台機器,保證redis是高併發的,還有就是如何讓redis保證自己不是掛掉以後就直接死掉了,redis高可用 redis高併發 主從架構,一主多從,一般來說,很多專案其實就足夠了,單主用來寫入資料,單機幾萬qps,多從用來查詢資料,...

如何保證redis高併發及高可用

1 面試題 如何保證redis的高併發和高可用?redis的主從複製原理能介紹一下麼?redis的哨兵原理能介紹一下麼?2 考點分析 其實問這個問題,主要是考考你,redis單機能承載多高併發?如果單機扛不住如何擴容抗更多的併發?redis會不會掛?既然redis會掛那怎麼保證redis是高可用的?...