此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

nginx缓存

http中:

proxy_cache_path /nginx/cache/first levels=1:2 keys_zone=first:20m max_size=1g inactive=60m;

proxy_cache_path /nginx/cache/first 代理缓存路径是/nginx/cache/first

levels=1:2 目录下有两层子目录

备注: 默认所有缓存文件都放在我们定义的目录下,但是会影响缓存的性能,因此通常会在目录下面建立子目录用来分别存放不同的文件

keys_zone=first:20m key的存储空间(或者公用内存空间)的名称及大小,这里定义大小为20m的名叫first的空间

备注: 每个缓存资源都有key和metadata,nginx会开辟一片内存空间存储他们,这样就能快速判断一个请求是否命中或未命中缓存

max_size=1g cache最大存储量为1g

inactive 未被访问文件在缓存中的保留时间,超时后会删除

 

location中:

proxy_cache 启用缓存并指定keys_zone,如果是off表示不使用缓存

-----------------------------------------------------------------------------

 

当我们发送请求时,有可能是代理服务器响应,也可能是应用服务器响应,可从响应头中判断:

X_Via 返回的响应了客户端请求报文的服务器,可能是Nginx服务器的IP地址,也可能是应用服务器,但请求依旧到达了它

X-Cache 是否命中缓存,即在keys_zone中查找缓存是否成功,HIT标明已缓存过,MISS没有被缓存。

 

 

 

 

posted @ 2018-08-03 15:30  炎泽  阅读(159)  评论(0编辑  收藏  举报