簡談常用快取技術
對於一個訪問量龐大的網站來說,快取機制是很重要的提速和優化手段。
那麼我們在開發一個網站的過程中,能用到的,需要注意的快取機制都有哪些呢?本文將淺顯層面做一些簡單筆記。如果大家有不同意見,歡迎拍磚。
本文主要提到如下快取技術:瀏覽器快取、閘道器/代理伺服器快取、頁面快取、資料快取、資料庫快取、反向代理快取
瀏覽器快取
瀏覽器快取機制,主要就是HTTP協議定義的快取機制(如 Expires;Cache-control等),還包括非HTTP協議定義的快取機制,如使用HTML Meta標籤。
推薦閱讀>>
閘道器/代理伺服器快取
閘道器或代理伺服器快取是將遠端伺服器提供的資料儲存在閘道器/代理伺服器上,多使用者訪問同一頁面時,直接從閘道器伺服器把頁面傳送給使用者。
推薦閱讀>>
頁面快取
頁面快取是將動態頁面直接生成靜態的頁面放在伺服器端,使用者調取相同頁面時,靜態頁面將直接下載到客戶端,不再需要通過程式的執行和資料庫的訪問,大大節約了伺服器的負載。每次訪問頁面時,會檢測相應的快取頁面是否存在,若不存在,則連線資料庫得到資料渲染頁面並生成快取頁面檔案,這樣下次訪問的頁面檔案就發揮作用了。
推薦閱讀>>
資料快取
資料快取是最靈活的一種快取。但是需要在程式碼中額外的步驟才能使用。當所有使用者都在釋出資訊的時候,使用者釋出資訊後想立即看到這些資料,就需要資料快取來實現。
目前的實現分為兩種方式:
1.內容快取:將快取資料存放在伺服器的記憶體空間中。
2.檔案快取:快取資料存放在伺服器的硬碟空間中。
推薦閱讀>>
資料庫快取
資料庫的快取一般由資料庫提供,可以對錶建立快取記憶體。資料庫中,使用者可能多次執行相同的查詢語句,為了提高查詢效率,資料庫會在記憶體劃分一個專門的區域,用來存放使用者最近執行的查詢,這塊區域就是快取。
推薦閱讀>>
反向代理快取
就像代理伺服器快取和瀏覽器快取一樣,我們同樣可以講內容快取在反向代理伺服器上,所有快取機制的實現仍然採用HTTP/1.1協議。
推薦閱讀>>
參考文章: