nginx cache缓存机制设置

配置文件主要添加了三行:
proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g;

proxy_cache_path:表示缓存文件存放的路径,该路径是预先就要创建好的
levels=1:2 : 设置在相对于path指定目录的第几级hash目录中缓存数据,levels=1,表示一级hash目录,levels=1:2,表示两级hash目录,目录的名称是基于请求URL通过哈希算法得到的
keys_zone=cache_one:500m : 设置缓存名字
inactive=1d : 强制更新时间,在指定时间内没人访问,就删除缓存
max_size=30g : 设置硬盘中缓存数据的大小限制,最大缓存空间

proxy_cache cache_one;
表示这个server使用上面设置的那个cache

proxy_cache_valid 200 304 302 24h;
针对不同的HTTP响应状态设置不同的缓存时间,如果不设置,nginx服务器只为HTTP状态代码为200,301和302的响应数据做缓存
使用any可以表示缓存所有该指令中未设置的其他响应数据,如:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
表示的是对返回状态为200,302的响应数据缓存10分钟,对返回状态码为301的响应数据缓存1小时,非200,302,301返回状态的响应数据缓存1分钟

发表评论

电子邮件地址不会被公开。 必填项已用*标注