中文字幕一区二区三区在线中文-日本中文字幕 在线观看-欧美日韩国产亚洲综合-性色AV一二三天美传媒

廣州總部電話(huà):020-85564311
20年
互聯(lián)網(wǎng)應(yīng)用服務(wù)商
廣州總部電話(huà):020-85564311
20年
互聯(lián)網(wǎng)應(yīng)用服務(wù)商
請(qǐng)輸入搜索關(guān)鍵詞
知識(shí)庫(kù) 知識(shí)庫(kù)

優(yōu)網(wǎng)知識(shí)庫(kù)

探索行業(yè)前沿,共享知識(shí)寶庫(kù)

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

發(fā)布日期:2025-05-13 18:14:54 瀏覽次數(shù): 950 來(lái)源:mikechen的互聯(lián)網(wǎng)架構(gòu)


Nginx缓存

Nginx 缓存:是指 Nginx 服务器将客户端请求的资源(例如:静态文件、动态页面的响应。。。等)存储在本地存储介质(如磁盘或内存)中。

当相同的请求再次到达时,Nginx 可以直接从缓存中提供资源,而无需再次向后端服务器发起请求。

文章预览

这种缓存可以显著提高网站的访问速度和可用性,尤其是在处理静态资源或不经常变化的内容时。

通过缓存,Nginx可以直接从本地返回数据,而不需要每次都向后端服务器请求,从而减轻网络负载和后端服务器的压力。

 

Nginx缓存工作原理

Nginx支持多种缓存机制,适用于不同场景,以下是主要类型:

文章预览

反向代理缓存

Nginx作为反向代理缓存,将从后端服务器(如应用服务器)获取的内容缓存到本地。

对于后续相同请求,Nginx直接返回缓存内容,无需请求后端服务器。

典型场景:常见于大流量网站,需要快速返回常访问的静态资源或动态页面。

内容缓存(Content Cache)

Nginx可以缓存内容本身(如HTTP响应),减少对后端的请求,提高响应速度。

典型场景:缓存接口数据、或动态页面的生成内容。

静态文件缓存

Nginx通常用于缓存静态资源,如图片、CSS文件、JavaScript文件等。

典型场景:通过长时间缓存静态文件,减少静态文件的重复请求,提高网站响应速度。

FastCGI缓存

对于使用FastCGI协议的动态内容,Nginx也支持缓存,这对于PHP、Python、Ruby等后端应用程序非常有用。

典型场景:缓存动态生成的HTML页面,减少对FastCGI服务器的负担。

其工作原理如下:

客户端发起请求

客户端发送一个 HTTP 请求到 Nginx。

Nginx 接收请求

Nginx 接收到客户端的请求,并根据配置进行处理。

检查缓存: 对于需要代理的请求,Nginx 首先会根据配置的 proxy_cache_key 生成一个缓存 Key,并在配置的缓存区域中查找是否存在与该 Key 匹配的缓存条目。

缓存命中 (Cache Hit):

如果找到匹配的缓存条目,并且缓存尚未过期(根据 proxy_cache_valid 等指令判断),Nginx 会直接从缓存中读取响应内容,并将其发送给客户端,而不会将请求转发给后端服务器。

缓存未命中 (Cache Miss):

如果没有找到匹配的缓存条目,或者缓存已过期,Nginx 会将客户端的请求转发给配置的后端服务器(通过 proxy_pass)。

后端服务器处理请求并返回响应: 后端服务器处理客户端的请求,并将生成的响应返回给 Nginx。

缓存响应 

文章预览

Nginx 接收到后端服务器的响应后,会根据配置判断是否需要将该响应缓存到本地。

如果满足缓存条件(例如 HTTP 方法是 GET 或 HEAD,响应状态码在 proxy_cache_valid 指定的范围内),Nginx 会将响应内容存储到缓存区域中,并使用之前生成的缓存 Key 进行标识。

将响应返回给客户端

无论是从缓存中获取的响应还是从后端服务器获取的响应(并可能已缓存),Nginx 最终都会将响应发送回客户端。

 

Nginx缓存实战案例

1.静态资源缓存

为了减少对静态文件的重复请求,我们可以设置Nginx缓存这些静态资源。

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

 

2.商品页面缓存

对于商品页面,可以缓存一部分动态内容,如价格和评论数量,以提高响应速度并减少对后端的压力。

location /product/{    proxy_cache cache_zone;    proxy_cache_key $uri;    proxy_cache_valid 20010m;    proxy_cache_valid 4041m;    proxy_cache_use_stale error timeout updating;}

通过proxy_cache_valid 200 10m配置,缓存200状态码的响应10分钟,避免频繁访问后端获取相同数据。

 

3.API响应缓存

对于电商网站的API接口,可能会有一些数据变化不频繁,可以进行缓存。

location /api/{    proxy_cache cache_zone;    proxy_cache_valid 2005m;    proxy_cache_use_stale error timeout updating;}

通过上述缓存策略,Nginx帮助电商网站提高了性能,减少了后端负担,提升了用户的访问速度和体验。

以上

優(yōu)網(wǎng)科技,優(yōu)秀企業(yè)首選的互聯(lián)網(wǎng)供應(yīng)服務(wù)商

優(yōu)網(wǎng)科技秉承"專(zhuān)業(yè)團(tuán)隊(duì)、品質(zhì)服務(wù)" 的經(jīng)營(yíng)理念,誠(chéng)信務(wù)實(shí)的服務(wù)了近萬(wàn)家客戶(hù),成為眾多世界500強(qiáng)、集團(tuán)和上市公司的長(zhǎng)期合作伙伴!

優(yōu)網(wǎng)科技成立于2001年,擅長(zhǎng)網(wǎng)站建設(shè)、網(wǎng)站與各類(lèi)業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門(mén)戶(hù)型、營(yíng)銷(xiāo)商務(wù)型、電子商務(wù)型、信息門(mén)戶(hù)型、微信小程序定制開(kāi)發(fā)、移動(dòng)端應(yīng)用(手機(jī)站、APP開(kāi)發(fā))、微信定制開(kāi)發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。


我要投稿

姓名

文章鏈接

提交即表示你已閱讀并同意《個(gè)人信息保護(hù)聲明》

專(zhuān)屬顧問(wèn) 專(zhuān)屬顧問(wèn)
掃碼咨詢(xún)您的優(yōu)網(wǎng)專(zhuān)屬顧問(wèn)!
專(zhuān)屬顧問(wèn)
馬上咨詢(xún)
掃一掃馬上咨詢(xún)
掃一掃馬上咨詢(xún)

掃一掃馬上咨詢(xún)