
一、概念
Web緩存是指一個(gè)Web資源(如html頁面,圖片,js,數(shù)據(jù)等)存在于Web服務(wù)器和客戶端(瀏覽器)之間的副本。
緩存會根據(jù)進(jìn)來的請求保存輸出內(nèi)容的副本;當(dāng)下一個(gè)請求來到的時(shí)候,如果是相同的URL,緩存會根據(jù)緩存機(jī)制決定是直接使用副本響應(yīng)訪問請求,還是向源服務(wù)器再次發(fā)送請求。
比較常見的就是瀏覽器會緩存訪問過網(wǎng)站的網(wǎng)頁,當(dāng)再次訪問這個(gè)URL地址的時(shí)候,如果網(wǎng)頁沒有更新,就不會再次下載網(wǎng)頁,而是直接使用本地緩存的網(wǎng)頁。
只有當(dāng)網(wǎng)站明確標(biāo)識資源已經(jīng)更新,瀏覽器才會再次下載網(wǎng)頁。
二、web緩存的作用
減少網(wǎng)絡(luò)帶寬消耗:
當(dāng)Web緩存副本被使用時(shí),只會產(chǎn)生極小的網(wǎng)絡(luò)流量,可以有效的降低運(yùn)營成本。
降低服務(wù)器壓力:
給網(wǎng)絡(luò)資源設(shè)定有效期之后,用戶可以重復(fù)使用本地的緩存,減少對源服務(wù)器的請求,間接降低服務(wù)器的壓力。
同時(shí),搜索引擎的爬蟲機(jī)器人也能根據(jù)過期機(jī)制降低爬取的頻率,也能有效降低服務(wù)器的壓力。
減少網(wǎng)絡(luò)延遲:
加開頁面打開速度。
三、web緩存的類型
在Web應(yīng)用領(lǐng)域,Web緩存大致可以分為以下幾種類型:
3.1、數(shù)據(jù)庫數(shù)據(jù)緩存
Web應(yīng)用,特別是SNS類型的應(yīng)用,往往關(guān)系比較復(fù)雜,數(shù)據(jù)庫表繁多,如果頻繁進(jìn)行數(shù)據(jù)庫查詢,很容易導(dǎo)致數(shù)據(jù)庫不堪重荷。
為了提供查詢的性能,會將查詢后的數(shù)據(jù)放到內(nèi)存中進(jìn)行緩存,下次查詢時(shí),直接從內(nèi)存緩存直接返回,提供響應(yīng)效率。
比如常用的緩存方案有memcached等。
3.2、服務(wù)器端緩存
服務(wù)器端緩存包含代理服務(wù)器緩存和CDN緩存:
3.2.1、代理服務(wù)器緩存
代理服務(wù)器是瀏覽器和源服務(wù)器之間的中間服務(wù)器,瀏覽器先向這個(gè)中間服務(wù)器發(fā)起Web請求,經(jīng)過處理后(比如權(quán)限驗(yàn)證,緩存匹配等),再將請求轉(zhuǎn)發(fā)到源服務(wù)器。
代理服務(wù)器緩存的運(yùn)作原理跟瀏覽器的運(yùn)作原理差不多,只是規(guī)模更大。
可以把它理解為一個(gè)共享緩存,不只為一個(gè)用戶服務(wù),一般為大量用戶提供服務(wù),因此在減少相應(yīng)時(shí)間和帶寬使用方面很有效,同一個(gè)副本會被重用多次。
常見代理服務(wù)器緩存解決方案有Squid等。
3.2.2、 CDN緩存
CDN(Content delivery networks)緩存,也叫網(wǎng)關(guān)緩存、反向代理緩存。
CDN緩存一般是由網(wǎng)站管理員自己部署,為了讓他們的網(wǎng)站更容易擴(kuò)展并獲得更好的性能。
瀏覽器先向CDN網(wǎng)關(guān)發(fā)起Web請求,網(wǎng)關(guān)服務(wù)器后面對應(yīng)著一臺或多臺負(fù)載均衡源服務(wù)器,會根據(jù)它們的負(fù)載請求,動態(tài)將請求轉(zhuǎn)發(fā)到合適的源服務(wù)器上。
雖然這種架構(gòu)負(fù)載均衡源服務(wù)器之間的緩存沒法共享,但卻擁有更好的處擴(kuò)展性。
從瀏覽器角度來看,整個(gè)CDN就是一個(gè)源服務(wù)器。
3.3、瀏覽器端緩存
瀏覽器緩存(Browser Caching)是瀏覽器端保存數(shù)據(jù)用于快速讀取或避免重復(fù)資源請求的優(yōu)化機(jī)制,有效的緩存使用可以避免重復(fù)的網(wǎng)絡(luò)請求和瀏覽器快速地讀取本地?cái)?shù)據(jù),整體上加速網(wǎng)頁展示給用戶。
3.4、Web應(yīng)用層緩存
應(yīng)用層緩存指的是從代碼層面上,通過代碼邏輯和緩存策略,實(shí)現(xiàn)對數(shù)據(jù),頁面,圖片等資源的緩存,可以根據(jù)實(shí)際情況選擇將數(shù)據(jù)存在文件系統(tǒng)或者內(nèi)存中,減少數(shù)據(jù)庫查詢或者讀寫瓶頸,提高響應(yīng)效率。 注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.dedgn.cn/news-id-22704.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注web前端頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050