亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

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

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

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

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

Nginx緩存

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

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

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

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

 

Nginx緩存工作原理

Nginx支持多種緩存機制,適用于不同場景,以下是主要類型:

反向代理緩存

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

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

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

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

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

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

靜態(tài)文件緩存

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

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

FastCGI緩存

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

典型場景:緩存動態(tài)生成的HTML頁面,減少對FastCGI服務(wù)器的負擔。

其工作原理如下:

客戶端發(fā)起請求

客戶端發(fā)送一個 HTTP 請求到 Nginx。

Nginx 接收請求

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

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

緩存命中 (Cache Hit):

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

緩存未命中 (Cache Miss):

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

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

緩存響應(yīng) 

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

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

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

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

 

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

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

為了減少對靜態(tài)文件的重復請求,我們可以設(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.商品頁面緩存

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

  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. }

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

 

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

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

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

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


閱讀原文:原文鏈接


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