专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Nginx缓存实战:如何让性能飙升10倍!

ins518 2025-10-19 05:51:44 技术文章 3 ℃ 0 评论

关注△mikechen△十余年BAT架构经验倾囊相授!

Nginx是大型架构的核心,下面我重点详解Nginx缓存实战@mikechen

文章来源:mikechen.cc

Nginx缓存

Nginx 作为高性能的反向代理、与负载均衡服务器,其”缓存功能“在提升 Web 服务响应速度和减轻后端压力方面具有重要作用。


可以,极大的降低后端压力。

比如:大量重复请求(首页、热榜、图片、热门 API),不再回源,节省 CPU、内存。

提升并发能力:当大多数请求命中缓存时,系统能承受更高峰值流量。

Nginx缓存工作机制

Nginx缓存工作原理,如下:

整体流程;

当客户端发起请求时,Nginx 首先检查本地缓存(通常为磁盘或内存);

若命中缓存(cache hit),直接返回缓存内容;

若未命中(cache miss),Nginx 将请求转发至后端服务器,获取响应后将其写入缓存并返回给客户端。

缓存控制

缓存的有效性由响应头(如 Cache-Control、Expires、ETag、Last-Modified)。

以及,和 Nginx 配置(如 proxy_cache_valid、proxy_cache_key)共同决定。

Nginx 可通过配置缓存键、缓存时间和缓存条件来精细控制缓存策略。

Nginx缓存配置

Nginx 支持多种缓存方式,按场景选择组合使用。

1. 静态资源缓存(浏览器 + Nginx)

适合图片、JS、CSS 等:

location /static/{    root /var/www/html;    expires 30d;    add_header Cache-Control"public, max-age=2592000";}


2.反向代理缓存

适合 API、页面、动静结合场景:

配置:

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:200m max_size=30g inactive=60m use_temp_path=off; server {    location /api/hot/{        proxy_pass http://backend_pool;        proxy_cache my_cache;        proxy_cache_key "$scheme$host$request_uri";        proxy_cache_valid 20030210m;        proxy_cache_valid 4041m;        proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;        proxy_cache_lock on;        proxy_cache_lock_timeout 5s;        add_header X-Cache-Status $upstream_cache_status;}}


3.秒级缓存

高频但短时容忍一致性损失的接口(热榜、首页):

location /api/top/{    proxy_cache my_cache;    proxy_cache_valid 2001s;    proxy_cache_use_stale updating;}


4.FastCGI Cache

适合 PHP、WordPress 等:

fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fcg_cache:100m inactive=60m;server {    location ~ \.php$ {        fastcgi_pass unix:/run/php-fpm.sock;        fastcgi_cache fcg_cache;        fastcgi_cache_key "$scheme$request_method$host$request_uri $cookie_user";        fastcgi_cache_valid 20030210m;        add_header X-Fastcgi-Cache $upstream_cache_status;}}

以上

文章来源:mikechen.cc

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表