nginx(四十一)ngx_http_proxy_module模块缓存续(一)

一   简单案例

①   nginx -V 的一些信息

②  nginx代理服务器的配置

1)inactive 时间到了,磁盘的'缓存数据删除'

 备注:inactive参数设置'cache不活跃缓存'的删除时间

 大白话:inactive是针对'两次请求'间隔时间,到时间'就删掉'不占用内存

 细节点:只要有请求,inactive就'刷新计时',在'下一次'请求到来时,如果超过'time'则删除

2)valid 过期了,但是'磁盘数据不会'删除

 valid:是针对'第一次'请求之后,内存中的'cache key'缓存的时间;在这个有效期内,会'一直使用缓存'

重点: nginx是基于内存中是否存在'cache key',决定是否向后端服务'重新'读取

nginx配置proxy_cache_path之inactive和proxy_cache_valid对比

③  上游服务器的配置

④  发起请求

1)第一次请求

MISS:缓存'未命中',回源'到后端获取'最新的内容

2)第二次请求

HIT:缓存'命中',直接'返回nginx缓存'中内容,'不回源'到后端

3)第三次请求

EXPIRED:缓存'命中'但'过期'了,'回源到后端'获取最新的内容。

4)不请求后1m后查看缓存目录

⑤  日志

1)代理服务器的日志

2)上游服务器的日志验证

二   特殊响应头缓存的影响

++++++++++++ '上游'服务器三个参读'独立'测试 ++++++++++++ 

核心: 探讨'优先级'问题

1)add_header Vary  * ;  -->永远'不会缓存' --> 效果:MISS

2)add_header X-Accel-Expires 3;  # 3s

备注:上游服务说,我发起的内容'什么时候过期'

3)add_header Cache-Control 'max-age=3,stale-while-revalidate=3';

重点: 由nginx缓存服务器和源服务器'共同'决定,缓存服务器要严格遵守源服务器'响应的Header'

影响: 响应在nginx中的'缓存'时间

①    代理服务器的配置

②    后端服务器的配置

说明: 通过不同的'location'来验证这些'特殊'的的上游'response header'对nginx代理缓存的影响

③  X-Accel-Expires

④   Vary *

⑤  Cache-Control  主流

Cache-Control 的 stale-while-revalidate 指令

nginx cache不生效的原因

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值