在項(xiàng)目中使用redis,主要是從兩個(gè)角度去考慮:性能和并發(fā)。當(dāng)然,redis還具備可以做分布式鎖等其他功能,但是如果只是為了分布式鎖這些其他功能,完全還有其他中間件(如zookpeer等)代替,并不是非要使用redis。
因此,這個(gè)問(wèn)題主要從性能和并發(fā)兩個(gè)角度去答。 (推薦學(xué)習(xí):Redis視頻教程)
(一)性能
如下圖所示,我們?cè)?strong>碰到需要執(zhí)行耗時(shí)特別久,且結(jié)果不頻繁變動(dòng)的SQL,就特別適合將運(yùn)行結(jié)果放入緩存。這樣,后面的請(qǐng)求就去緩存中讀取,使得請(qǐng)求能夠迅速響應(yīng)。
(二)并發(fā)
如下圖所示,在大并發(fā)的情況下,所有的請(qǐng)求直接訪問(wèn)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)會(huì)出現(xiàn)連接異常。這個(gè)時(shí)候,就需要使用redis做一個(gè)緩沖操作,讓請(qǐng)求先訪問(wèn)到redis,而不是直接訪問(wèn)數(shù)據(jù)庫(kù)。