web緩存的種類有哪些?
1、數(shù)據(jù)庫緩存
我們可能聽說過memcached,它就是一種數(shù)據(jù)庫層面的緩存方案。數(shù)據(jù)庫緩存是指,當web應(yīng)用的關(guān)系比較復(fù)雜,數(shù)據(jù)庫中的表很多的時候,如果頻繁進行數(shù)據(jù)庫查詢,很容易導(dǎo)致數(shù)據(jù)庫不堪重荷。為了提供查詢的性能,將查詢后的數(shù)據(jù)放到內(nèi)存中進行緩存,下次查詢時,直接從內(nèi)存緩存直接返回,提供響應(yīng)效率。
2、CDN緩存
CDN緩存一般是由網(wǎng)站管理員自己部署,為了讓他們的網(wǎng)站更容易擴展并獲得更好的性能。通常情況下,瀏覽器先向CDN網(wǎng)關(guān)發(fā)起Web請求,網(wǎng)關(guān)服務(wù)器后面對應(yīng)著一臺或多臺負載均衡源服務(wù)器,會根據(jù)它們的負載請求,動態(tài)將請求轉(zhuǎn)發(fā)到合適的源服務(wù)器上。從瀏覽器角度來看,整個CDN就是一個源服務(wù)器,從這個層面來說,瀏覽器和服務(wù)器之間的緩存機制,在這種架構(gòu)下同樣適用。
3、代理服務(wù)器緩存
代理服務(wù)器是瀏覽器和源服務(wù)器之間的中間服務(wù)器,瀏覽器先向這個中間服務(wù)器發(fā)起Web請求,經(jīng)過處理后(比如權(quán)限驗證,緩存匹配等),再將請求轉(zhuǎn)發(fā)到源服務(wù)器。代理服務(wù)器緩存的運作原理跟瀏覽器的運作原理差不多,只是規(guī)模更大。
4、瀏覽器緩存
每個瀏覽器都實現(xiàn)了 HTTP 緩存,我們通過瀏覽器使用HTTP協(xié)議與服務(wù)器交互的時候,瀏覽器就會根據(jù)一套與服務(wù)器約定的規(guī)則進行緩存工作。
5、應(yīng)用層緩存
應(yīng)用層緩存是指我們在代碼層面上做的緩存。通過代碼邏輯,把曾經(jīng)請求過的數(shù)據(jù)或資源等,緩存起來,再次需要數(shù)據(jù)時通過邏輯上的處理選擇可用的緩存的數(shù)據(jù)。