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没有被缓存。