前言
浏览器缓存与Nginx缓存;控制浏览器缓存;Nginx的反向代理缓存。
一、浏览器缓存与Nginx缓存

200首次请求,304缓存
- 浏览器缓存:
- 加速用户访问,提升单个用户(浏览器访问者)体验,缓存在本地
- Nginx缓存:
- 缓存在nginx端,提升所有访问到nginx这一端的用户
- 提升访问上游(upstream)服务器的速度
- 用户访问仍然会产生请求流量
二、控制浏览器缓存
location /files {
# expires 10s;
# expires @22h30m;
# expires -1h;
# expires epoch;
# expires off;
expires max;
}
<html>
<body>
<h1>
Hello, Nginx ~ !~
</h1>
</body>
</html>
三、Nginx的反向代理缓存
# proxy_cache_path 设置缓存目录
# keys_zone 设置共享内存以及占用空间大小
# max_size 设置缓存大小
# inactive 超过此时间,则缓存被自动清理
# use_temp_path 临时目录,使用后会影响nginx性能
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1m use_temp_path=off;
location / {
proxy_pass http://tomcats;
# 启用缓存,和keys_zone一致
proxy_cache mycache;
# 针对200和304状态码缓存时间为8小时
proxy_cache_valid 200 304 8h;
}
总结
浏览器缓存与Nginx缓存;控制浏览器缓存;Nginx的反向代理缓存。
本文介绍了Java架构师如何利用Nginx进行缓存控制,包括浏览器缓存与Nginx反向代理缓存的原理和区别,以及如何控制浏览器缓存和设置Nginx的反向代理缓存,以提升用户访问速度和减轻上游服务器压力。
1379

被折叠的 条评论
为什么被折叠?



