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