LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Nginx緩存最全詳解:如何提高10倍性能!

admin
2025年6月28日 20:26 本文熱度 397

Nginx是大型架構(gòu)的必備中間件,下面我就重點(diǎn)來(lái)詳解Nginx緩存核心技術(shù)@mikechen

Nginx緩存

Nginx 緩存:是指 Nginx 服務(wù)器將客戶端請(qǐng)求的資源(例如:靜態(tài)文件、動(dòng)態(tài)頁(yè)面的響應(yīng)。。。等)存儲(chǔ)在本地存儲(chǔ)介質(zhì)(如磁盤或內(nèi)存)中。

當(dāng)相同的請(qǐng)求再次到達(dá)時(shí),Nginx 可以直接從緩存中提供資源,而無(wú)需再次向后端服務(wù)器發(fā)起請(qǐng)求。

這種緩存可以顯著提高網(wǎng)站的訪問(wèn)速度和可用性,尤其是在處理靜態(tài)資源或不經(jīng)常變化的內(nèi)容時(shí)。

通過(guò)緩存,Nginx可以直接從本地返回?cái)?shù)據(jù),而不需要每次都向后端服務(wù)器請(qǐng)求,從而減輕網(wǎng)絡(luò)負(fù)載和后端服務(wù)器的壓力。

 

Nginx緩存工作原理

Nginx支持多種緩存機(jī)制,適用于不同場(chǎng)景,以下是主要類型:

反向代理緩存

Nginx作為反向代理緩存,將從后端服務(wù)器(如應(yīng)用服務(wù)器)獲取的內(nèi)容緩存到本地。

對(duì)于后續(xù)相同請(qǐng)求,Nginx直接返回緩存內(nèi)容,無(wú)需請(qǐng)求后端服務(wù)器。

典型場(chǎng)景:常見于大流量網(wǎng)站,需要快速返回常訪問(wèn)的靜態(tài)資源或動(dòng)態(tài)頁(yè)面。

內(nèi)容緩存(Content Cache)

Nginx可以緩存內(nèi)容本身(如HTTP響應(yīng)),減少對(duì)后端的請(qǐng)求,提高響應(yīng)速度。

典型場(chǎng)景:緩存接口數(shù)據(jù)、或動(dòng)態(tài)頁(yè)面的生成內(nèi)容。

靜態(tài)文件緩存

Nginx通常用于緩存靜態(tài)資源,如圖片、CSS文件、JavaScript文件等。

典型場(chǎng)景:通過(guò)長(zhǎng)時(shí)間緩存靜態(tài)文件,減少靜態(tài)文件的重復(fù)請(qǐng)求,提高網(wǎng)站響應(yīng)速度。

FastCGI緩存

對(duì)于使用FastCGI協(xié)議的動(dòng)態(tài)內(nèi)容,Nginx也支持緩存,這對(duì)于PHP、Python、Ruby等后端應(yīng)用程序非常有用。

典型場(chǎng)景:緩存動(dòng)態(tài)生成的HTML頁(yè)面,減少對(duì)FastCGI服務(wù)器的負(fù)擔(dān)。

其工作原理如下:

客戶端發(fā)起請(qǐng)求

客戶端發(fā)送一個(gè) HTTP 請(qǐng)求到 Nginx。

Nginx 接收請(qǐng)求

Nginx 接收到客戶端的請(qǐng)求,并根據(jù)配置進(jìn)行處理。

檢查緩存: 對(duì)于需要代理的請(qǐng)求,Nginx 首先會(huì)根據(jù)配置的 proxy_cache_key 生成一個(gè)緩存 Key,并在配置的緩存區(qū)域中查找是否存在與該 Key 匹配的緩存條目。

緩存命中 (Cache Hit):

如果找到匹配的緩存條目,并且緩存尚未過(guò)期(根據(jù) proxy_cache_valid 等指令判斷),Nginx 會(huì)直接從緩存中讀取響應(yīng)內(nèi)容,并將其發(fā)送給客戶端,而不會(huì)將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器。

緩存未命中 (Cache Miss):

如果沒有找到匹配的緩存條目,或者緩存已過(guò)期,Nginx 會(huì)將客戶端的請(qǐng)求轉(zhuǎn)發(fā)給配置的后端服務(wù)器(通過(guò) proxy_pass)。

后端服務(wù)器處理請(qǐng)求并返回響應(yīng): 后端服務(wù)器處理客戶端的請(qǐng)求,并將生成的響應(yīng)返回給 Nginx。

緩存響應(yīng) 

Nginx 接收到后端服務(wù)器的響應(yīng)后,會(huì)根據(jù)配置判斷是否需要將該響應(yīng)緩存到本地。

如果滿足緩存條件(例如 HTTP 方法是 GET 或 HEAD,響應(yīng)狀態(tài)碼在 proxy_cache_valid 指定的范圍內(nèi)),Nginx 會(huì)將響應(yīng)內(nèi)容存儲(chǔ)到緩存區(qū)域中,并使用之前生成的緩存 Key 進(jìn)行標(biāo)識(shí)。

將響應(yīng)返回給客戶端

無(wú)論是從緩存中獲取的響應(yīng)還是從后端服務(wù)器獲取的響應(yīng)(并可能已緩存),Nginx 最終都會(huì)將響應(yīng)發(fā)送回客戶端。

 

Nginx緩存實(shí)戰(zhàn)案例

1.靜態(tài)資源緩存

為了減少對(duì)靜態(tài)文件的重復(fù)請(qǐng)求,我們可以設(shè)置Nginx緩存這些靜態(tài)資源。

  1. location ~* \.(jpg|jpeg|png|gif|css|js|ico|woff|woff2|ttf|eot|svg|otf){
  2.     expires 30d;
  3.     add_header Cache-Control"public";
  4.     access_log off;
  5. }

 

2.商品頁(yè)面緩存

對(duì)于商品頁(yè)面,可以緩存一部分動(dòng)態(tài)內(nèi)容,如價(jià)格和評(píng)論數(shù)量,以提高響應(yīng)速度并減少對(duì)后端的壓力。

  1. location /product/{
  2.     proxy_cache cache_zone;
  3.     proxy_cache_key $uri;
  4.     proxy_cache_valid 20010m;
  5.     proxy_cache_valid 4041m;
  6.     proxy_cache_use_stale error timeout updating;
  7. }

通過(guò)proxy_cache_valid 200 10m配置,緩存200狀態(tài)碼的響應(yīng)10分鐘,避免頻繁訪問(wèn)后端獲取相同數(shù)據(jù)。

 

3.API響應(yīng)緩存

對(duì)于電商網(wǎng)站的API接口,可能會(huì)有一些數(shù)據(jù)變化不頻繁,可以進(jìn)行緩存。

  1. location /api/{
  2.     proxy_cache cache_zone;
  3.     proxy_cache_valid 2005m;
  4.     proxy_cache_use_stale error timeout updating;
  5. }

通過(guò)上述緩存策略,Nginx幫助電商網(wǎng)站提高了性能,減少了后端負(fù)擔(dān),提升了用戶的訪問(wèn)速度和體驗(yàn)。


閱讀原文:原文鏈接


該文章在 2025/7/2 0:39:36 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日本中文字幕在线视频 | 五月天久久久噜噜噜久久 | 在线视频亚洲激情 | 亚洲欧美日韩国产一区二区三区 | 亚洲精品青青操久久 | 亚洲精品中文字幕字幕 |