快取型別有哪幾種 快取篇

2021-10-10 06:34:53 字數 2235 閱讀 2982

3. 瀏覽器端快取

4. web應用層快取

二、cdn的優勢

三、瀏覽器快取的優點

讀此篇文章有感傳送門

web應用,特別是sns型別的應用,往往關係比較複雜,資料庫表繁多,如果頻繁進行資料庫查詢,很容易導致資料庫不堪重荷。為了提供查詢的效能,會將查詢後的資料放到記憶體中進行快取,下次查詢時,直接從記憶體快取直接返回,提供響應效率。比如常用的快取方案有memcached等。

**伺服器是瀏覽器和源伺服器之間的中間伺服器,瀏覽器先向這個中間伺服器發起web請求,經過處理後(比如許可權驗證,快取匹配等),再將請求**到源伺服器。**伺服器快取的運作原理跟瀏覽器的運作原理差不多,只是規模更大。可以把它理解為乙個共享快取,不只為乙個使用者服務,一般為大量使用者提供服務,因此在減少相應時間和頻寬使用方面很有效,同乙個副本會被重用多次。常見**伺服器快取解決方案有 squid等,這裡不再詳述。

cdn(content delivery networks, 即內容分發網路。)快取,也叫閘道器快取、反向**快取。cdn快取一般是由**管理員自己部署,為了讓他們的**更容易擴充套件並獲得更好的效能。瀏覽器先向cdn閘道器發起web請求,閘道器伺服器後面對應著一台或多台負載均衡源伺服器,會根據它們的負載請求,動態將請求**到合適的源伺服器上。雖然這種架構負載均衡源伺服器之間的快取沒法共享,但卻擁有更好的處擴充套件性。從瀏覽器角度來看,整個cdn就是乙個源伺服器,從這個層面來說,本文討論瀏覽器和伺服器之間的快取機制,在這種架構下同樣適用。

關於cdn快取,在瀏覽器本地快取失效後,瀏覽器會向cdn邊緣節點發起請求。類似瀏覽器快取,cdn邊緣節點也存在著一套快取機制。cdn邊緣節點快取策略因服務商不同而不同,但一般都會遵循http標準協議,通過http響應頭中的

cache-control: max-age //後面會提到
的字段來設定cdn邊緣節點資料快取時間。

當瀏覽器向cdn節點請求資料時,cdn節點會判斷快取資料是否過期,若快取資料並沒有過期,則直接將快取資料返回給客戶端;否則,cdn節點就會向伺服器發出回源請求,從伺服器拉取最新資料,更新本地快取,並將最新資料返回給客戶端。 cdn服務商一般會提供基於檔案字尾、目錄多個維度來指定cdn快取時間,為使用者提供更精細化的快取管理。

全稱domain name system,即網域名稱系統

全球資訊網上作為網域名稱和ip位址相互對映的乙個分布式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的ip數串。dns協議執行在udp協議之上,使用埠號53。

簡單的說,通過網域名稱,最終得到該網域名稱對應的ip位址的過程叫做網域名稱解析(或主機名解析)。

www.dnscache.

com(網域名稱)

-dns解析 -

>

11.222

.33.444

(ip位址)

有dns的地方,就有快取。瀏覽器、作業系統、local dns、根網域名稱伺服器,它們都會對dns結果做一定程度的快取。

dns查詢過程如下:

首先搜尋瀏覽器自身的dns快取,如果存在,則網域名稱解析到此完成。

如果瀏覽器自身的快取裡面沒有找到對應的條目,那麼會嘗試讀取作業系統的hosts檔案看是否存在對應的對映關係,如果存在,則網域名稱解析到此完成。

如果本地hosts檔案不存在對映關係,則查詢本地dns伺服器(isp伺服器,或者自己手動設定的dns伺服器),如果存在,網域名稱到此解析完成。

如果本地dns伺服器還沒找到的話,它就會向根伺服器發出請求,進行遞迴查詢。

戳此處詳細了解dns解析過程

瀏覽器快取根據一套與伺服器約定的規則進行工作,在同乙個會話過程中會檢查一次並確定快取的副本足夠新。如果你瀏覽過程中,比如前進或後退,訪問到同乙個,這些可以從瀏覽器快取中調出而即時顯現。

應用層快取指的是從**層面上,通過**邏輯和快取策略,實現對資料,頁面,等資源的快取,可以根據實際情況選擇將資料存在檔案系統或者記憶體中,減少資料庫查詢或者讀寫瓶頸,提高響應效率。

cdn節點解決了跨運營商和跨地域訪問的問題,訪問延時大大降低。

大部分請求在cdn邊緣節點完成,cdn起到了分流作用,減輕了源伺服器的負載。

戳此處詳細了解cdn工作過程

減少了冗餘的資料傳輸

減少了伺服器的負擔,大大提公升了**的效能

加快了客戶端載入網頁的速度

vi有哪幾種模式

vi有三種工作模式,分別是 1 命令模式,是啟動vi後進入的工作模式,並可轉換為文字編輯模式和最後行模式 2 文字編輯模式,用於字元編輯 3 最後行模式。vi有三種工作模式 命令模式 文字編輯模式和最後行模式。不同工作模式下的操作方法有所不同。1 命令模式 命令模式是啟動vi後進入的工作模式,並可轉...

物聯網卡有哪幾種型別?

物聯網開卡主要分為兩種 一種是插拔式卡,另一種是貼片式卡 插拔式卡 插拔式卡也叫做mp卡,他在外形上和我們的手機sim卡上差不多的,但是他在一些方面卻比sim卡強大的多,比如 物聯網卡可以適用不同型別的環境場合,不管是在極低的溫度環境還是極高的溫度環境他都能保持正常執行。貼片式卡 貼片式卡也叫ms卡...

面試 架構 集群有哪幾種

前言 我們在做專案的時候經常會用到集群,在面試的時候也經常會問到你們有沒有用集群,怎麼部署的。無論你是 web容器集群還是db集群,按照所要解決的問題可以分為如下幾種 平行計算或稱平行計算是相對於序列計算來說的 平行計算的能力的目的是提高計算速度。平行計算分為時間計算和空間計算 時間計算既是流水線技...