缓存类型:
客户端缓存,代理缓存(Nginx),服务端缓存(Redis).
----------------------------------------------------------------------------------------------------------
代理缓存
proxy_cache配置语法:
Syntax: proxy_cache_path path [levels=levels] 定义目录的空间大小以及名字用来防止缓存文件的
....................
Default:——
Context :http
----------------------------------------------------------------------------------------------------------
Syntax : proxy_cache zone|off;
Default: proxy_cache off;
Context:http,server,location;
----------------------------------------------------------------------------------------------------------
配置语法-缓存过期周期
Syntax:proxy_cache_valid[code...] time; code代表状态码
Default : ——
Context : http,server,location
----------------------------------------------------------------------------------------------------------
配置语法-缓存的维度
Synatx:proxy_cache_key string;
Default : proxy_cache_key $scheme $proxy_host $request_uri; 缓存的key
Context :http , server,location
----------------------------------------------------------------------------------------------------------
配置演示:
说明:
proxy_cache_path /opt/app/cache 缓存文件的存放位置
levels=1:2 两层目录的分级
keys_zone=fan_cache:10m 开辟的空间大小
max_size=10g 最大空间
inactive=60m 不活跃的缓存文件。60分钟之后清理掉
use_temp_path=off 临时访问空间关掉
location中的配置----
proxy_cache fan-cache; 上面定义的zone
proxy_pass http://fan; 定义的upstream
proxy_cache_valid 200 304 12h; 状态码为200和304的过期时间为12小时
proxy_cache_valid any 10m; 其它为10分钟
proxy_cache_key $host$uri$is_args$args; 缓存的key
add_header Nginx-Cache "$upstream_cache_status"; 给客户端增加名为一个Nginx-Cache 的头信息
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
如果服务器出现了定义的错误,跳过本节点访问下一台。
-------------------------------------------------------
让部分页面不缓存
Syntax:proxy_no_cache string;
Default:——
Context:http,server,location
----------------------------------------------
大文件分片请求:
Syntax : slice size; size:切成文件的大小。
Default:slice 0;
Context :http,servce,location
-------------------------