咱們web開發中緩存機制的種類web
1.數據庫緩存
咱們可能據說過memcached,它就是一種數據庫層面的緩存方案。數據庫緩存是指,當web應用的關係比較複雜,數據庫中的表不少的時候,若是頻繁進行 數據庫查詢,很容易致使數據庫不堪重荷。爲了提供查詢的性能,將查詢後的數據放到內存中進行緩存,下次查詢時,直接從內存緩存直接返回,提供響應效率。
數據庫
2.CDN緩存瀏覽器
CDN緩存通常是由網站管理員本身部署,爲了讓他們的網站更容易擴展並得到更好的性能。一般狀況下,瀏覽器先向CDN網關發起Web請求,網關服務器後面 對應着一臺或多臺負載均衡源服務器,會根據它們的負載請求,動態將請求轉發到合適的源服務器上。從瀏覽器角度來看,整個CDN就是一個源服務器,從這個層 面來講,瀏覽器和服務器之間的緩存機制,在這種架構下一樣適用。緩存
3.代理服務器緩存
代理服務器是瀏覽器和源服務器之間的中間服務器,瀏覽器先向這個中間服務器發起Web請求,通過處理後(好比權限驗證,緩存匹配等),再將請求轉發到源服務器。代理服務器緩存的運做原理跟瀏覽器的運做原理差很少,只是規模更大。服務器
4.瀏覽器緩存
每一個瀏覽器都實現了 HTTP 緩存,咱們經過瀏覽器使用HTTP協議與服務器交互的時候,瀏覽器就會根據一套與服務器約定的規則進行緩存工做。架構
5.應用層緩存
應用層緩存是指咱們在代碼層面上作的緩存。經過代碼邏輯,把曾經請求過的數據或資源等,緩存起來,再次須要數據時經過邏輯上的處理選擇可用的緩存的數據。負載均衡