全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 5 道配套习题

Nginx高级功能专题

专题说明

本专题聚焦Nginx的高级功能,涵盖限流算法原理与区别、limit_req限流配置、proxy_cache缓存机制、缓存清理策略以及动静内容的差异化缓存方案。

学习目标

  1. 理解令牌桶与漏桶算法的核心区别及适用场景
  2. 掌握Nginx limit_req模块的配置方法
  3. 掌握proxy_cache缓存机制的工作原理与配置要点
  4. 了解缓存清理与过期策略的多种实现方式
  5. 能够根据内容特性制定合理的缓存策略

学习内容

本专题包含以下核心知识点:

  • 限流算法:令牌桶算法允许突发流量,漏桶算法严格限制速率
  • Nginx限流配置:limit_req_zone定义区域,limit_req启用限流
  • 缓存机制:proxy_cache_path存储磁盘缓存,keys_zone存储内存元数据
  • 缓存清理:支持手动删除、PURGE请求清理、proxy_cache_valid过期
  • 动静缓存:静态内容长缓存,动态内容短缓存或不缓存

学习建议

  • 重点理解令牌桶与漏桶算法的区别,这是面试高频考点
  • limit_req配置需掌握zone、rate、burst、nodelay等参数的含义
  • 缓存部分注意区分内存元数据(keys_zone)与磁盘实际缓存数据
  • 动静缓存策略要根据内容变化频率来制定,不可本末倒置

📝 发现内容有误?点击此处直接编辑

📝 配套习题(5 题)

1
单选题

关于令牌桶算法和漏桶算法的区别,以下说法正确的是?

A

令牌桶算法允许一定程度的突发流量,而漏桶算法严格限制流出速率

B

漏桶算法允许突发流量,而令牌桶算法严格限制速率

C

两种算法都不允许突发流量

D

两种算法都完全允许突发流量,没有限制

2
填空题

配置 Nginx 基于 IP 的请求限流,限制每个 IP 每秒最多 10 个请求,允许突发 20 个请求:

text
______________ $binary_remote_addr zone=mylimit:10m ______=10r/s;

location /api/ {
    _________ zone=mylimit ______=20 nodelay;
}

请填入正确的指令名称。(1.定义限流区域 2.指定速率 3.启用限流 4.设置突发缓冲)

3
多选题

以下关于 Nginx proxy_cache 缓存机制的说法,正确的有?

A

proxy_cache_path 定义的 keys_zone 是存储在内存中的缓存键元数据

B

缓存文件实际存储在 proxy_cache_path 指定的磁盘路径上

C

proxy_cache_key 可以自定义缓存的键计算规则

D

Nginx 缓存不支持按 URL 参数区分缓存

4
单选题

在 Nginx 中,以下哪种方式不能用于清理 proxy_cache 缓存?

A

手动删除缓存目录下的文件

B

使用 proxy_cache_purge 指令配合 PURGE 请求方法清理特定 URL

C

重启 Nginx 服务自动清空缓存

D

设置 proxy_cache_valid 为很短的时间,让缓存快速过期

5
判断题

对于动态内容(如用户个性化页面),应该设置较长的缓存时间以提升性能,而对于静态内容(如图片、CSS),应该设置较短的缓存时间。()

A

B

← 上一个专题 Nginx高并发调优与内存管理专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库