1. 基于本機內存的緩存,當調用api訪問數據庫時,假如此過程需要2秒,如果每次請求都要訪問數據庫,那將對服務器造成巨大的壓力,如果將此sql的查詢結果存到Redis中,再次請求時,直接從Redis中取得,而不是訪問數據庫,效率將得到巨大的提升,Redis可以定時去更新數據(比如1分鐘)。
2. 如果電腦重啟,寫入內存的數據是不是就失效了呢,這時Redis還提供了持久化的功能。
3. 哨兵(Sentinel)和復制Sentinel可以管理多個Redis服務器,它提供了監控、提醒以及自動的故障轉移功能;
復制則是讓Redis服務器可以配備備份的服務器;
Redis也是通過這兩個功能保證Redis的高可用;
4. 集群(Cluster) 單臺服務器資源總是有上限的,CPU和IO資源可以通過主從復制,進行讀寫分離,把一部分CPU和IO的壓力轉移到從服務器上,但是內存資源怎么辦,主從模式只是數據的備份,并不能擴充內存;
現在我們可以橫向擴展,讓每臺服務器只負責一部分任務,然后將這些服務器構成一個整體,對外界來說,這一組服務器就像是集群一樣。