當前位置:首頁 » 文件管理 » 緩存的分類

緩存的分類

發布時間: 2022-08-26 04:23:27

1. 瀏覽器緩存功能在使用上都有哪些類型

緩存功能的存在,讓我們在瀏覽網頁和訪問防止的時候可以更快的載入我們需要的內容,而今天北大青鳥http://www.kmbdqn.cn/就通過案例分析來了解一下,瀏覽器的緩存功能在使用上都有哪些類型。

1.ServiceWorker


ServiceWorker是運行在瀏覽器背後的獨立線程,一般可以用來實現緩存功能。使用ServiceWorker的話,傳輸協議必須為HTTPS。因為ServiceWorker中涉及到請求攔截,所以必須使用HTTPS協議來保障安全。ServiceWorker的緩存與瀏覽器其他內建的緩存機制不同,它可以讓我們自由控制緩存哪些文件、如何匹配緩存、如何讀取緩存,並且緩存是持續性的。


ServiceWorker實現緩存功能一般分為三個步驟:先需要先注冊ServiceWorker,然後監聽到install事件以後就可以緩存需要的文件,那麼在下次用戶訪問的時候就可以通過攔截請求的方式查詢是否存在緩存,存在緩存的話就可以直接讀取緩存文件,否則就去請求數據。


當ServiceWorker沒有命中緩存的時候,我們需要去調用fetch函數獲取數據。也就是說,如果我們沒有在ServiceWorker命中緩存的話,會根據緩存查找優先順序去查找數據。但是不管我們是從MemoryCache中還是從網路請求中獲取的數據,瀏覽器都會顯示我們是從ServiceWorker中獲取的內容。


2.MemoryCache


MemoryCache也就是內存中的緩存,主要包含的是當前中頁面中已經抓取到的資源,例如頁面上已經下載的樣式、腳本、圖片等。讀取內存中的數據肯定比磁碟快,內存緩存雖然讀取高效,可是緩存持續性很短,會隨著進程的釋放而釋放。一旦我們關閉Tab頁面,內存中的緩存也就被釋放了。


那麼既然內存緩存這么高效,我們是不是能讓數據都存放在內存中呢?


這是不可能的。計算機中的內存一定比硬碟容量小得多,操作系統需要精打細算內存的使用,所以能讓我們使用的內存必然不多。


2. 什麼是java緩存技術Cache

java緩存技術

一、什麼是緩存

1、Cache是高速緩沖存儲器 一種特殊的存儲器子系統,其中復制了頻繁使用的數據以利於快速訪問

2、凡是位於速度相差較大的兩種硬體/軟體之間的,用於協調兩者數據傳輸速度差異的結構,均可稱之為 Cache

二、緩存的分類

1、基於web應用的系統架構圖

2、在系統架構的不同層級之間,為了加快訪問速度,都可以存在緩存

操作系統磁碟緩存->減少磁碟機械操作

資料庫緩存->減少文件系統I/O

應用程序緩存->減少對資料庫的查詢

Web伺服器緩存->減少應用伺服器請求

客戶端瀏覽器緩存->減少對網站的訪問。

3. 請問什麼是緩存一級和二級有什麼區別

由於CPU的運算速度愈來愈快,主存儲器(DRAM)的數據存取速度常無法跟上CPU的速度,因而影響計算機的執行效率,如果在CPU與主存儲器之間,使用速度最快之SRAM來作為CPU的數據快取區,將可大幅提升系統的執行效率,而且透過Cache來事先讀取CPU可能需要的數據,可避免主存儲器與速度更慢的輔助內存的頻繁存取數據,對系統的執行效率也大有幫助。

不過因SRAM比DRAM貴太多,如果主存儲器全採用SRAM則系統造價太高,所以一般皆只安裝512KB~1MB的Cache。Cache的應用除了加在CPU與主存儲器之間外,硬碟、列印機、CD-ROM等外圍設備也都會加上Cache來提升該設備的數據存取效率。

按照數據讀取順序和與CPU結合的緊密程度,CPU緩存可以分為一級緩存,二級緩存,部分高端CPU還具有三級緩存,每一級緩存中所儲存的全部數據都是下一級緩存的一部分,這三種緩存的技術難度和製造成本是相對遞減的,所以其容量也是相對遞增的。當CPU要讀取一個數據時,首先從一級緩存中查找,如果沒有找到再從二級緩存中查找,如果還是沒有就從三級緩存或內存中查找。一般來說,每級緩存的命中率大概都在80%左右,也就是說全部數據量的80%都可以在一級緩存中找到,只剩下20%的總數據量才需要從二級緩存、三級緩存或內存中讀取,由此可見一級緩存是整個CPU緩存架構中最為重要的部分。

一級緩存(Level 1 Cache)簡稱L1 Cache,位於CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存。由於一級緩存的技術難度和製造成本最高,提高容量所帶來的技術難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價比很低,而且現有的一級緩存的命中率已經很高,所以一級緩存是所有緩存中容量最小的,比二級緩存要小得多。

一般來說,一級緩存可以分為一級數據緩存(Data Cache,D-Cache)和一級指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據以及對執行這些數據的指令進行即時解碼,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。目前大多數CPU的一級數據緩存和一級指令緩存具有相同的容量,例如AMD的Athlon XP就具有64KB的一級數據緩存和64KB的一級指令緩存,其一級緩存就以64KB+64KB來表示,其餘的CPU的一級緩存表示方法以此類推。

4. 什麼是L1緩存啊什麼是L2緩存啊

二級緩存是CPU性能的體現,像以前的P4的CPU,二級緩存都為1M,現在雙核心的為2M,之所有INTEL的CPU比AMD的CPU在制圖,處理數據方面快得多的原因也正在此,AMD的二級緩存基本上只有INTEL的一半。二級緩存是在和內存之間讀取數據的時候體現的,如果二級緩存不夠,那大量的數據就會堆積在內存里進行運算,所以速度就會大大降低,相反,如果二級緩存夠大,進入內存運算的數據就會相對的減少,所以二級緩存很重要,也是CPU的性能優越的指標。

5. 三級緩存的分類

Cache(三級緩存),分為兩種,早期的是外置,以後的升級產品都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。
其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。

6. CPU一二三級緩存的作用。

CPU緩存(Cache Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。

緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。

正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。

最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進行了分類。當時集成在CPU內核中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時,用新增的一種一級追蹤緩存替代指令緩存,容量為12KμOps,表示能存儲12K條微指令。

隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。現在再用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。

二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。

CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

為了保證CPU訪問時有較高的命中率,緩存中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出緩存,提高緩存的利用率。

CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高

7. 緩存是啥意思

緩存指的是將需要頻繁訪問的網路內容存放在離用戶最近、訪問速度更快的系統中,以提高內容訪問速度的一種技術。緩存伺服器就是存放頻繁訪問內容的伺服器。

幀緩沖存儲器(Frame Buffer):簡稱幀緩存或顯存,它是屏幕所顯示畫面的一個直接映象,又稱為位映射圖(Bit Map)或光柵。幀緩存的每一存儲單元對應屏幕上的一個像素,整個幀緩存對應一幀圖像。

可刻錄CD或DVD驅動器一般具有2MB-4MB以上的大容量緩沖器,用於防止緩存欠載(buffer underrun)錯誤,同時可以使刻錄工作平穩、恆定的寫入。一般來說,驅動器越快,就有更多的緩沖存儲器,以處理更高的傳輸速率。

(7)緩存的分類擴展閱讀

緩存工作原理

1、讀取順序

CPU要讀取一個數據時,首先從Cache中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入Cache中,可以使得以後對整塊數據的讀取都從Cache中進行,不必再調用內存。

正是這樣的讀取機制使CPU讀取Cache的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在Cache中,只有大約10%需要從內存讀取。

這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先Cache後內存。

2、緩存分類

Intel從Pentium開始將Cache分開,通常分為一級高速緩存L1和二級高速緩存L2。在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內Cache。在L1中還分數據Cache(D-Cache)和指令Cache(I-Cache)。

它們分別用來存放數據和執行這些數據的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。

3、讀取命中率

CPU在Cache中找到有用的數據被稱為命中,當Cache中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1 Cache的命中率為80%。

也就是說CPU從L1 Cache中找到的有用數據占數據總量的80%,剩下的20%從L2 Cache讀取。由於不能准確預測將要執行的數據,讀取L2的命中率也在80%左右(從L2讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。

在一些高端領域的CPU(像Intel的Itanium)中,我們常聽到L3 Cache,它是為讀取L2 Cache後未命中的數據設計的—種Cache,在擁有L3 Cache的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

8. CPU緩存是什麼CPU緩存有哪些類型

CPU緩存可以大幅度提升CPU內部數據讀取效率,因此是衡量CPU性能的一個重要指標,包括L1Cache(一級緩存)、L2Cache(二級緩存)和L3Cache(三級緩存)三種,其中L1Cache是CPU第一層高速緩存,由於CPU製造工藝等方面的因素,L1緩存的容量一般都比較小。一般CPU的L1緩存容量通常在32KB~256KB左右。L2Cache是CPU的第二層高速緩存,L2高速緩存容量對CPU的性能有很大的影響,一般來說是越大越好,現在使用的CPU的L2Cache容量一般在256KB~2MB。L3Cache(三級緩存)能進一步降低內存延遲,也能增強CPU處理大數據量的能力。

9. 緩存的二級緩存

二級緩存(Level2cache),它是處理器內部的一些緩沖存儲器,其作用跟內存一樣。上溯到上個世紀80年代,由於處理器的運行速率越來越快,慢慢地,處理器需要從內存中讀取數據的速率需求就越來越高了。然而內存的速率提升速率卻很緩慢,而能高速讀寫數據的內存價格又非常高昂,不能大量採用。從性能價格比的角度出發,英特爾等處理器設計生產公司想到一個辦法,就是用少量的高速內存和大量的低速內存結合使用,共同為處理器提供數據。這樣就兼顧了性能和使用成本的最優。而那些高速的內存因為是處於cpu和內存之間的位置,又是臨時存放數據的地方,所以就叫做緩沖存儲器了,簡稱「緩存」。它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在緩存區中,然後再搬到內部存儲區中長時間存放。貨物在這段區域中存放的時間很短,就是一個臨時貨場。 最初緩存只有一級,後來處理器速率又提升了,一級緩存不夠用了,於是就添加了二級緩存。二級緩存是比一級緩存速率更慢,容量更大的內存,主要就是做一級緩存和內存之間數據臨時交換的地方用。為了適應速率更快的處理器p4ee,已經出現了三級緩存了,它的容量更大,速率相對二級緩存也要慢一些,但是比內存可快多了。 緩存的出現使得cpu處理器的運行效率得到了大幅度的提升,這個區域中存放的都是cpu頻繁要使用的數據,所以緩存越大處理器效率就越高,同時由於緩存的物理結構比內存復雜很多,所以其成本也很高。
大量使用二級緩存帶來的結果是處理器運行效率的提升和成本價格的大幅度不等比提升。舉個例子,伺服器上用的至強處理器和普通的p4處理器其內核基本上是一樣的,就是二級緩存不同。至強的二級緩存是2mb~16mb,p4的二級緩存是512kb,於是最便宜的至強也比最貴的p4貴,原因就在二級緩存不同。即l2cache。由於l1級高速緩存容量的限制,為了再次提高cpu的運算速率,在cpu外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與cpu同頻,也可不同。cpu在讀取數據時,先在l1中尋找,再從l2尋找,然後是內存,在後是外存儲器。所以l2對系統的影響也不容忽視。
最早先的cpu緩存是個整體的,而且容量很低,英特爾公司從pentium時代開始把緩存進行了分類。當時集成在cpu內核中的緩存已不足以滿足cpu的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與cpu同一塊電路板上或主板上的緩存,此時就把cpu內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。隨著cpu製造工藝的發展,二級緩存也能輕易的集成在cpu內核中,容量也在逐年提升。再用集成在cpu內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入cpu內核中,以往二級緩存與cpu大差距分頻的情況也被改變,此時其以相同於主頻的速率工作,可以為cpu提供更高的傳輸速率。

10. L3級緩存和L2級緩存的區別

2. 緩存分類

前面是把Cache作為一個整體來考慮的,現在要分類分析了。Intel從Pentium開始將Cache分開,通常分為一級高速緩存L1和二級高速緩存L2。

在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內Cache。在L1中還分數據Cache(I-Cache)和指令Cache(D-Cache)。它們分別用來存放數據和執行這些數據的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。

在P4處理器中使用了一種先進的一級指令Cache——動態跟蹤緩存。它直接和執行單元及動態跟蹤引擎相連,通過動態跟蹤引擎可以很快地找到所執行的指令,並且將指令的順序存儲在追蹤緩存里,這樣就減少了主執行循環的解碼周期,提高了處理器的運算效率。

以前的L2 Cache沒集成在CPU中,而在主板上或與CPU集成在同一塊電路板上,因此也被稱為片外Cache。但從PⅢ開始,由於工藝的提高L2 Cache被集成在CPU內核中,以相同於主頻的速度工作,結束了L2 Cache與CPU大差距分頻的歷史,使L2 Cache與L1 Cache在性能上平等,得到更高的傳輸速度。L2Cache只存儲數據,因此不分數據Cache和指令Cache。在CPU核心不變化的情況下,增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見L2 Cache的重要性。現在CPU的L1 Cache與L2 Cache惟一區別在於讀取順序。

3. 讀取命中率

CPU在Cache中找到有用的數據被稱為命中,當Cache中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1 Cache的命中率為80%。也就是說CPU從L1 Cache中找到的有用數據占數據總量的80%,剩下的20%從L2 Cache讀取。由於不能准確預測將要執行的數據,讀取L2的命中率也在80%左右(從L2讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。在一些高端領域的CPU(像Intel的Itanium)中,我們常聽到L3 Cache,它是為讀取L2 Cache後未命中的數據設計的—種Cache,在擁有L3 Cache的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

為了保證CPU訪問時有較高的命中率,Cache中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出Cache,提高Cache的利用率。

熱點內容
cos伺服器搭建 發布:2024-10-13 16:17:41 瀏覽:330
象棋軟體演算法 發布:2024-10-13 15:32:35 瀏覽:895
平板怎麼看真正配置 發布:2024-10-13 14:53:32 瀏覽:30
微信存儲空間的其他 發布:2024-10-13 14:52:14 瀏覽:667
怎麼繞過系統密碼登錄密碼登錄密碼登錄 發布:2024-10-13 14:47:41 瀏覽:506
ios騰訊緩存視頻怎樣轉入本地視頻 發布:2024-10-13 14:33:12 瀏覽:823
python如何遍歷文件 發布:2024-10-13 14:28:57 瀏覽:930
仿qq音樂源碼 發布:2024-10-13 14:28:08 瀏覽:401
資料庫表代碼 發布:2024-10-13 14:27:35 瀏覽:957
數車g76編程實例 發布:2024-10-13 14:23:17 瀏覽:225