1 缓存文件放在哪儿?

    1. # 指定缓存位置、缓存名称、内存中缓存内容元数据信息大小限制、缓存总大小限制。缓存位置是一个目录应该先创建好,nginx并不会帮我们创建这个缓存目录
    2. proxy_cache_path /data/nginx/cache keys_zone=one:10m max_size=10g;
    3. # 指定使用前面设置的缓存名称
    4. proxy_cache one;

    2. 如何指定哪些请求被缓存?
    Nginx默认会缓存所有get和head方法的请求结果,缓存的key默认使用请求字符串

    1. # 自定义key
    2. proxy_cache_key hosthosthostrequest_uri$cookie_user”;
    3. # 指定请求至少被发送了多少次以上时才缓存,可以防止低频请求被缓存
    4. proxy_cache_min_uses 5;
    5. # 指定哪些方法的请求被缓存
    6. proxy_cache_methods GET HEAD POST;

    3. 缓存有效期
    默认情况下,缓存的内容是长期存留的,除非缓存的总量超出限制。可以指定缓存的有效期

    1. # 响应状态码为200 302时,10分钟有效
    2. proxy_cache_valid 200 302 10m;
    3. # 对应任何状态码,5分钟有效
    4. proxy_cache_valid any 5m;

    4. 如何指定哪些请求不被缓存?

    1. # 如果任何一个参数值不为空或者不等0,nginx就不会查找缓存,直接进行代理转发。
    2. proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;