http{
..........
proxy_cache_key $scheme$proxy_host$request_uri;
proxy_cache_path /tmp/nginx/tv-backend levels=1:2 keys_zone=my_zone:100m max_size=10g inactive=30muse_temp_path=off;
server{location /api/v2{
proxy_cache my_zone;
proxy_cache_valid 200 30m;
proxy_pass http://tv_integration_v2;
}
}
}
代码说明:
proxy_cache_key $uri 定义缓存唯一key,通过唯一key来进行hash存取
proxy_cache_path 缓存文件路径
levels 设置缓存文件目录层次;levels=1:2 表示两级目录
keys_zone 设置缓存名字和共享内存大小
inactive 在指定时间内没人访问则被删除 30m代表30分钟
max_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。
proxy_cache_valid 缓存有效期时间,不管inactive时间内是否访问,只要到proxy_cache_valid时间缓存即失效,会重新请求数据。