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