Java架构师—Nginx控制缓存

前言

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


文章目录

  • 前言
  • 一、浏览器缓存与Nginx缓存
  • 二、控制浏览器缓存
  • 三、Nginx的反向代理缓存
  • 总结


一、浏览器缓存与Nginx缓存

Java架构师—Nginx控制缓存_第1张图片
200首次请求,304缓存

  1. 浏览器缓存:
  • 加速用户访问,提升单个用户(浏览器访问者)体验,缓存在本地
  1. 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,java,架构,服务器)