企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 不缓存特定内容 对于一些更新比佳品频繁的页面,比如登录页面, 商品展示页(因为有库存),所以这些页面不需要缓存; ## proxy_no_cache 根据某些变量来判断是否需要缓存; 语法: ``` proxy_no_cache string; ``` 上下文: ``` http | server | location ``` ## proxy_no_bypass 语法: ``` proxy_no_bypass string; ``` 上下文: ``` http | server | location ``` ## 示例 上游服务器: 每个服务器下面各有一个index.html和index.txt文件; ``` server { listen 8081; location / { root html/8081; } } server { listen 8082; location / { root html/8082; } } ``` 代理服务器: ``` if ($request_uri ~ \.(txt|text)$ ) { //对URI进行判断,如果请求的是.txt或.text结尾的,那么就给变量设置"no cache" set $nocache "no cache"; //nginx声明变量的写法 set $变量名 变量值 } location / { proxy_cache cache_zone; proxy_no_cache $nocache; //对变量$nocahe有值的请求不进行缓存 proxy_cache_valid 200 5m; add_header Nginx-Cache-Status "$upstream_cache_status"; proxy_pass http://back_end; } ``` 结果:请求index.html会被缓存,而index.txt是不会被缓存的; ![](https://img.kancloud.cn/14/c6/14c6ef497efd7ee8c9c69adc24d4d4cb_878x622.png)