為什麼要用redis叢集?
通常,為了提高網站回應速度,總是把熱點資料保存在記憶體中而不是直接從後端資料庫讀取。 (建議學習:Redis影片教學)
Redis是個很好的Cache工具。大型網站應用,熱點資料量往往龐大,幾十G上百G是很正常的事兒。
由於記憶體大小的限制,使用一台 Redis 實例顯然無法滿足需求,這時就需要使用 多台 Redis (叢集)作為快取資料庫。才能在用戶請求時快速的進行回應。
什麼是Redis叢集?
Redis 叢集是一個分散式(distributed)、容錯(fault-tolerant)的Redis 實現, 叢集可以使用的功能是普通單機Redis 所能使用的功能的子集(subset) 。
Redis 叢集中不存在中心(central)節點或代理(proxy)節點, 叢集的其中一個主要設計目標是達到線性可擴展性(linear scalability)。
Redis 叢集提供了一種運行 Redis 的方式,其中資料在多個 Redis 節點間自動分區。 Redis 叢集還在分區期間提供一定程度的可用性,即在實際情況下能夠在某些節點發生故障或無法通訊時繼續運作。但是,如果發生較大故障(例如,大多數主站不可用時),則叢集會停止運作。
Redis叢集模型
1):所有的節點透過服務通道直接相連,各個節點之間透過二進位協定優化傳輸的速度和頻寬。
2):客戶端與節點之間透過 ascii 協定進行通訊
3):客戶端與節點直連,不需要中間 Proxy 層。客戶端不需要連接叢集所有節點,連接叢集中任何一個可用節點即可。
4):儘管這些節點彼此相連,功能相同,但仍分為兩種節點:master 和 slave。
更多Redis相關技術文章,請造訪Redis資料庫使用入門教學欄位學習!
以上是為什麼用redis集群的詳細內容。更多資訊請關注PHP中文網其他相關文章!