首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Nginx学习笔记(七)缓存

Nginx学习笔记(七)缓存

作者头像
写一点笔记
发布2022-08-11 15:30:19
发布2022-08-11 15:30:19
5720
举报
文章被收录于专栏:程序员备忘录程序员备忘录

对于nginx来说,重复的请求必然会影响系统的效率,因此nginx提供了代理缓存。首先我们思考一下,对于nginx来说缓存肯定是对请求的缓存,也就是说对请求的url作为key,将返回值用value的键值对。在之前讲解基础配置的时候说缓存需要配置缓存的地址和过期时间等。这块我们再学习一下。

注意,要使用nginx缓存,那么必须安装插件ngx_cache_purge,否则是玩不了的!

//缓存路径,inactive表示缓存的时间,levels表示两层目录,keys_zone表示缓存的大小,inactive表示缓存的时间,max_size表示最大的缓存容量。到期之后将会把缓存清理

代码语言:javascript
复制
proxy_cache_path /data/cache/nginx/ levels=1:2 keys_zone=cache:512m inactive = 1d max_size=8g;

响应的路由中添加

代码语言:javascript
复制
location ^~ /JXmlEditor/ {
    charset utf-8;
    #连接超时时间
    proxy_connect_timeout 8s; 
    #发送的超时时间
    proxy_send_timeout 8s; 
    #读取下游连接的超时时间
    proxy_read_timeout 8s;  
    #缓存的配置名称
    proxy_cache tmp-test;  
    #对200等接口建立10分钟的缓存
    proxy_cache_valid  200 206 304 301 302 10m;  
    #对其他的请求,缓存1分钟
    proxy_cache_valid any 1m;
    #请求的缓存key为请求连接
    proxy_cache_key $uri$is_args$args;  
    add_header X-Cache $upstream_cache_status;
#使用真实的用户地址
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://jxmleditor/JXmlEditor/;
  }

缓存的清理

代码语言:javascript
复制
#手动清除缓存
location ^- /tmp-test {  
        allow 127.0.0.1; //只允许本机访问  
        deny all; //禁止其他所有ip  
        #删除指定的请求的缓存
        proxy_cache_purge tmp-test $uri$is_args$args;  
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档