Nginx高级(九):nginx缓存配置、nginx proxy_cache缓存模块指令详解

本文详细介绍了Nginx的缓存机制,包括缓存的好处、工作原理,以及proxy_cache模块的各种指令,如proxy_cache、proxy_cache_bypass、proxy_cache_key等,旨在帮助读者理解和控制Nginx的缓存策略,提高服务器性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、nginx缓存

1、什么是缓存?

1.缓存的基本概述

缓存的基本思想是利用客户端访问的时间局限性,将客户端访问过的内容做一个副本,在一定时间内存放到本地,当改数据下次被访问时,不必连接到后端服务器反复去查询数据,而是由本地保存的副本响应数据。

保存在本地的这些副本具有一个过期时间,超过该时间将会更新。判断一个副本数据是否为过期数据的办法有很多,可以使用保留时间来判断,也可以使用数据完整度来判断。

许多Web服务器还具有校验功能,就是当某些副本数据过期以后,先向后端服务器发送校验请求,后端服务器对这些数据进行校验,如果发现原数据和副本没有差别,则将过期副本重新置为可用副本。

2.缓存的好处

1、减轻服务器负载
2、提供网页响应效率
3、降低网络阻塞,增强网络可扩展性

3.为什么使用缓存?

1、服务器处理能力以及负载能力出现瓶颈,响应效率大大降低
2、为了减少网络传输延迟,提升响应效率
3、能够避免因为后端服务器出现异常以及网络故障,客户端请求数据副本能够及时响应

2、nginx的缓存机制

proxy模块指令
在这里插入图片描述
以上nginx配置结合使用:

http {
   
  .
  .
  .
  proxy_cache_path /cache/nginx levels=1:2 keys_zone=imooc_cache:10m max_size=5g inactive=60m use_temp_path=off;

  .
  .
  .
  server {
   
    .
    .
    .
    location /api/ {
   
      proxy_cache imooc_cache;
      proxy_pass http://www.blogs-s.com:8080/api/;
      proxy_cache_valid 200 304 12h;
      proxy_cache_valid any 10m;
      proxy_cache_key $host$uri$is_args$args;
      include proxy_params;
    }
  }
}

tip: server配置完整版示列:(域名自行配置)

server
{
   
    listen 80;
    server_name www.blogs.com;
    root /www/blog;
    index  index.html index.php;

    location /api/ {
   
      proxy_cache imooc_cache;
      proxy_pass http://www.blogs-s.com:8080/api/;
      proxy_cache_valid 200 304 12h;
      proxy_cache_valid any 10m;
      proxy_cache_key $host$uri$is_args$args;
      include proxy_params;
    }

    location ~ /clear_cache(.*) {
   
     allow   all;
     proxy_cache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值