一、配置
指令 | 含义 |
---|---|
proxy_cache_path | /data/nginx/tmp-test levels=1:2 keys_zone=tmp-test:100m inactive=7d max_size=1000g; |
proxy_cache_path | 缓存文件路径 |
levels | 设置缓存文件目录层次;levels=1:2 表示两级目录 |
keys_zone | 设置缓存名字和共享内存大小 |
inactive | 在指定时间内没人访问则被删除 |
max_size | 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。每一个proxy_cache_path对应一个ngx_http_file_cache_t结构体。 |
proxy_cache tmp-test | 使用名为tmp-test的缓存配置 |
proxy_cache_key $uri | 定义缓存唯一key,通过唯一key来进行hash存取 |
proxy_cache_methods | 设置缓存哪些HTTP方法 |
proxy_cache_min_uses | 指定请求至少被发送了多少次以上时才缓存,可以防止低频请求被缓存 |
proxy_cache_bypass | 如果指定的任何一个变量值不为空,或者不等于0,nginx就不会查找缓存,直接进行代理转发 |
proxy_cache_lock/proxy_cache_lock_timeout | 当多个客户端同时请求同一份内容时,如果开启proxy_cache_lock(默认off)则只有一个请求被发送至后端;其他请求将等待该内容返回;当第一个请求返回时,其他请求将从缓存中获取内容返回;当第一个请求超过了proxy_cache_lock_timeout超时时间(默认5s),则其他请求将同时请求到后端来获取响应,且响应不会被缓存;启用proxy_cache_lock可以应对雪崩效应。 |