為什么要使用Redis
緩存Redis基本是現(xiàn)在軟件開(kāi)發(fā)的必備條件:
1、從業(yè)務(wù)上說(shuō)可以加快數(shù)據(jù)的顯示提高用戶體驗(yàn)。
2、從架構(gòu)上講可以存儲(chǔ)臨時(shí)數(shù)據(jù)及給數(shù)據(jù)庫(kù)分壓提高系統(tǒng)的吞吐量。
所以目前的軟件開(kāi)發(fā)中,幾乎都會(huì)涉及到Redis的使用。
使用分布式緩存Redis如何加速應(yīng)用訪問(wèn)
Redis的應(yīng)用數(shù)據(jù)加速訪問(wèn)場(chǎng)景非常廣泛。雖然Redis是一個(gè)key-value的內(nèi)存數(shù)據(jù)庫(kù),但在實(shí)際場(chǎng)景中,Redis經(jīng)常被作為緩存來(lái)使用,如面對(duì)數(shù)據(jù)高并發(fā)的讀寫(xiě)、海量數(shù)據(jù)的讀寫(xiě)等。
舉個(gè)例子,A網(wǎng)站首頁(yè)一天有100萬(wàn)人訪問(wèn),其中有一個(gè)“積分商城”的板塊,要直接從數(shù)據(jù)庫(kù)查詢,那么一天就要多消耗100萬(wàn)次數(shù)據(jù)庫(kù)請(qǐng)求。如果將這些數(shù)據(jù)儲(chǔ)存到Redis(內(nèi)存)中,要用的時(shí)候,直接從內(nèi)存調(diào)取,不僅可以大大節(jié)省系統(tǒng)直接讀取磁盤來(lái)獲得數(shù)據(jù)的IO開(kāi)銷,提高服務(wù)器的資源利用率,還能極大地提升速度。
隨著日益增長(zhǎng)的用戶量以及業(yè)務(wù)高峰期劇增的訪問(wèn)量,通過(guò)擴(kuò)容一次資源就能夠解決問(wèn)題的方式已不再有顯著成效,并且運(yùn)維Redis也比之前更易出現(xiàn)差錯(cuò)。
而華為云分布式緩存Redis就很好地解決了自建Redis的一些問(wèn)題,應(yīng)用場(chǎng)景也十分豐富。比如很多大型電商網(wǎng)站、視頻網(wǎng)站和游戲應(yīng)用等,存在大規(guī)模數(shù)據(jù)訪問(wèn),對(duì)數(shù)據(jù)查詢效率要求高。
使用華為云分布式緩存Redis服務(wù)可實(shí)現(xiàn)頁(yè)面緩存、應(yīng)用緩存、狀態(tài)緩存、事件并行處理,能夠有效減少數(shù)據(jù)庫(kù)磁盤IO,提高數(shù)據(jù)查詢效率,減輕管理維護(hù)工作量,降低數(shù)據(jù)庫(kù)存儲(chǔ)成本。
對(duì)傳統(tǒng)磁盤數(shù)據(jù)庫(kù)是一個(gè)重要的補(bǔ)充,成為了互聯(lián)網(wǎng)應(yīng)用,尤其是支持高并發(fā)訪問(wèn)的互聯(lián)網(wǎng)應(yīng)用必不可少的基礎(chǔ)服務(wù)之一。
Redis使用規(guī)范建議
1、使用頻率高且變動(dòng)頻率低的數(shù)據(jù)建議使用Redis,這點(diǎn)很重要,也是基本是判斷標(biāo)準(zhǔn)
2、給RMDB數(shù)據(jù)庫(kù)減壓使用,這也是經(jīng)常使用的場(chǎng)景
2、使用過(guò)程中,建議以業(yè)務(wù)為維度進(jìn)行Redis中的db數(shù)據(jù)庫(kù)的使用規(guī)劃,緩存數(shù)據(jù)清晰的同時(shí)也給后期維護(hù)帶來(lái)方便,比如因業(yè)務(wù)需要清空某一業(yè)務(wù)的緩存數(shù)據(jù)時(shí),哪我們只需要清空該模塊對(duì)應(yīng)的db清空即可,并不影響其它緩存庫(kù),下面使用規(guī)范供參考
| 
                                         業(yè)務(wù)模塊名稱 
                                     | 
                                    
                                    
                                    
                                         數(shù)據(jù)庫(kù)編號(hào) 
                                     | 
                                    
                                    
                                    
                                         備注 
                                     | 
                                    
                                  
|---|---|---|
模塊A  | 
                                  
                                  db 0  | 
                                  
                                  無(wú)  | 
                                  
                                  
模塊B  | 
                                  
                                  db 1  | 
                                  
                                  無(wú)  | 
                                  
                                  
模塊C  | 
                                  
                                  db 2  | 
                                  
                                  無(wú)  | 
                                  
                                  
模塊*  | 
                                  
                                  db *  | 
                                  
                                  *  |