tft每日頭條

 > 生活

 > 緩存的作用是什麼

緩存的作用是什麼

生活 更新时间:2024-08-05 21:12:57
1、緩存是什麼?

廣義上的緩存是指CPU上的高速存儲器,它用于内存與CPU之間的數據交換,速度非常快。

現在主要指的是存儲計算機原始數據的一個副本,也就是複制一份數據存儲在内存中,讓訪問數據時直接從内存讀取,而不去數據庫或者磁盤讀取。從而達到快速訪問的效果。

緩存的作用是什麼(緩存有哪些分類)1

在互聯網大環境中,緩存技術時系統提高訪問速度的非常關鍵的技術,可以不過分的說一句,緩存在計算機系統中,是無處不在的存在。

這是一種以空間換時間的技術。複制數據導緻使用空間增多,但大大的提升了數據的訪問速度。

2、緩存由哪些分類

一個稍微大一點的網站中,大概哪些地方使用了緩存呢?

緩存的作用是什麼(緩存有哪些分類)2

2.1、常見緩存分類2.1.1、頁面緩存

前端頁面可以使用代碼選擇緩存某些元素,保存在本地。HTML5還可以有cookie,session,websql, indexdb, application cache等。

前端頁面緩存通過manifest文件進行設置。

2.1.2、浏覽器緩存

當用戶從浏覽器發起請求時,第一次把網頁資源下載下來了,浏覽器一般會開啟緩存,第二次訪問時就不會再去拉取這些資源了,從而提升效應速度。

2.1.2、web代理服務端緩存

比如我們代理服務器為nginx, 我們可以在nginx上做些什麼緩存。就比如配置緩存靜态文件,css, js, 圖片或其他靜态文件。

2.1.3、CDN邊緣緩存

我們的服務部署再不同的城市,如果離我們太遠,将會影響訪問速度,這時候CDN邊緣緩存就有用了,它會就近訪問對應服務器,并返回資源,返回資源時自己同樣也會做緩存操作,下次訪問就直接返回結果。

2.1.4、服務端緩存本地緩存

服務端将查詢到數據直接存儲一份在内存中,訪問時就直接從内存讀取,非常快速。但是在多态服務器時,并不是設置本地緩存一次,就能返回結果了。所以需要有分布式緩存。

分布式緩存

使用分布式緩存作為服務端緩存,将查詢的數據存儲在第三方緩存服務器,每次從分布式緩存中查詢,如果分布式緩存也撐不住,可以在本地緩存再存儲一份副本。

先從本地緩存獲取,有則直接返回。沒有則查詢分布式緩存,分布式緩存存在,則回填本地緩存。分布式緩存不存在,則查詢數據庫,查詢成功就回填分布式緩存和本地緩存。

這兩級緩存一般也叫一級緩存和二級緩存。

2.1.5、數據庫緩存

數據庫會将相同的查詢語句緩存起來,如果下次來了一個一模一樣的查詢語句,那麼就直接返回上次緩存的結果。

3、緩存使用的代價?

緩存确實給我們的服務相應帶來了極大的便利,那麼緩存就這麼好,沒有什麼弊端嗎?

當然不是,緩存也存在一定問題的,使用它可能你需要額外處理這些代價:

  • 需要更多的存儲空間來存儲數據
  • 海量數據同時訪問時,如果大量的緩存同時失效,可能會導緻數據庫瞬間被壓垮,甚至服務直接宕機。所以需要處理緩存集中失效問題(失效時間分散設置)。
  • 海量數據訪問時,某個熱點數據的緩存消失了,導緻瞬間大量請求到達數據庫。直接壓垮了它(查詢數據庫 回填緩存加一把分布式鎖,實現并發串行化,然後回填緩存)
  • 緩存與數據庫數據同步,緩存同步問題是一個非常大的問題,解決方案(延時雙删,阿裡canal做緩存同步處理)
4、小結

緩存的使用有利有弊,但是它的有利之處遠遠的大于它的弊端。所以緩存對于互聯網技術,真的非常非常關鍵。利用好緩存,您的項目将會像坐火箭一個,速度快到不可思議。

但是也不要濫用緩存,從而導緻内存過載,甚至導緻OOM等錯誤使用方式。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved