• 成为祝福
    2019-01-29
    老师好,请问为什么NGINX不使用哈希表来存储缓存META信息而使用二叉树?

    作者回复: 缓存场景下,元素需要经常删除、添加,而且我们希望内存空间使用效率更高,此时哈希表没有rbtree合适。

    
     1
  • soooldier
    2019-01-24
    老师好,接着上次use_temp_path的问题哈。如您所讲,如果没有这个指令的话,有两个目录:接收上游body的临时目录和缓存目录。那如果nginx直接默认这两个目录就是一个目录的话也可以达到同样的不会copy文件的效果吧。

    作者回复: 是的

    
     1
  • soooldier
    2019-01-24
    没太听明白use_temp_path的意义,如果是为了避免不同文件系统之间的拷贝的话直接默认use_temp_path为off就可以了。为什么还会有use_temp_path这个指令的诞生呢?

    作者回复: 没有这个指令的话,有两个目录:1、接收上游body的临时文件目录;2、存放缓存的目录。
    nginx先把文件放在目录1,再移到目录2.
    有这个指令后,可以直接把临时文件放在目录2,减少了可能的目录1与目录2不在一块磁盘上的问题。

    
     1
  • 光
    2020-02-09
    老是这里。
     add_header Cache-Control no-cache;
     add_header Cache-Control private;
    上面两个指令是针对得expires 得浏览器缓存还是Proxy_cache 缓存。
    我加了之后Proxy cache 都是miss 了,和课程演示类似。问题:
    1、Cache control 指令只要跟参数是不是都是 miss
    2、我看有的网上写的上面两个指令针对浏览器缓存得,但是我不设置好像也可以啊。这里是有什么具体场景么。
    展开

    作者回复: 缓存蛮复杂的,我在《Web协议详解与抓包实战》中,用了4节课讲缓存头部,在29、30、31、32这四课中,你可以看下。
    简单来说,Cache-Contrl是主流的缓存头部控制,它后面的参数有十多种,可以从客户端、服务器两方面控制,非常强大。

    
    
  • Panda
    2019-02-23
    Nginx 缓存功能指令很灵活 很强大 需要实践一下 才能理解更深刻
    
    
  • Adam
    2019-01-14
    老师,cache-control的值是不是 no-cache的时候才不会缓存 ?

    作者回复: 还有很多,例如no-store和private默认也不会缓存,还有max-age、stale-while-revalidate、stale-if-error也会影响。
    可以阅读源码ngx_http_upstream_process_cache_control函数。

    
    
  • 路过
    2019-01-06
    课程100讲结束了?感觉又对nginx进行了一次梳理,希望能在实战中进步!

    作者回复: 没有,差不多还有50讲内容,第5、6部分还没开始呢

    
    
  • crazy
    2019-01-05
    希望陶老师能更新快点!

    作者回复: 本月录完:-)

    
    
  • 橙生北国
    2019-01-05
    老师,我想问一下Nginx在面试的时候一般都会问什么啊。

    作者回复: 看面试官的倾向了,不过Nginx绝大部分知识点都在这门课的范围内,学完后一定要实践下,哪怕不是生产环境也要熟练下,就没有问题了。

    
    
我们在线,来聊聊吧