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