美文网首页
NGINX----模块----缓存

NGINX----模块----缓存

作者: JuMinggniMuJ | 来源:发表于2020-05-21 20:40 被阅读0次

    如果有人问你怎么优化网站,那么你一定要告诉他使用缓存,nginx有着简单方便的缓存机制。

    存放放在哪?

    nginx不会自动为我们创建缓存目录,我们需要手动创建缓存目录。我们可以把缓存路径指向任何我们习惯使用的位置,我们只需要在http中设置:

      proxy_cache_path cache_path  keys_zone=cache_name:file_size  max_size=size_num inactive=destory_time levels=1:n;
            cache_path         #缓存的路径
            cache_name         #缓存的名称
            file_size          #内存中缓存内容元数据信息大小限制
            size_num           #缓存总大小限制
            destory_time       #在指定时间内没人访问则被删除
            1:n                #设置缓存文件目录层次;levels=1:n 表示n级目录
    

    什么时候缓存?

    Nginx默认会缓存所有get和head方法的请求结果,缓存的key默认使用请求字符串,使用缓存的时候我们只需要指定缓存场景:

          proxy_cache    cache_name|off
                #cache_name      proxy_cache_path中设置的keys_zone
                #off            关闭缓存
                #proxy_cache    可以放在server或者location下
         proxy_cache_methods   METHOD
               #指定哪些方法的请求被缓存
         proxy_cache_min_uses  n
               #指定请求至少被发送了多少次以上时才缓存,可以防止低频请求被缓存#
    

    缓存多久?

    我们已经设置好了缓存路径,也知道了在哪里怎么触发缓存,对于不同的文件,往往有着不同的缓存需求,我们只需要设置:

    proxy_cache_valid  status_code   time 
        #200 302 10m;        200和302的响应状态码缓存时间为10分钟
        #any 5m;            对应任何状态码,5分钟有效
    

    缓存特例?

    有的时候有一些文件我们不想缓存,这个时候我们只需要设置:

    proxy_cache_bypass url_path
            #url_path      这时url_path网址访问的文件就不会缓存了
    

    相关文章

      网友评论

          本文标题:NGINX----模块----缓存

          本文链接:https://www.haomeiwen.com/subject/hfntahtx.html