Caching 如何将Nginx设置为缓存反向代理?

Caching 如何将Nginx设置为缓存反向代理?,caching,nginx,reverse-proxy,caching-proxy,Caching,Nginx,Reverse Proxy,Caching Proxy,我最近听说Nginx在其反向代理功能中添加了缓存。我环顾四周,但找不到太多关于它的信息 我想将Nginx设置为Apache/Django前面的缓存反向代理:将一些(但不是全部)动态页面的Nginx代理请求设置为Apache,然后缓存生成的页面,并从缓存中为这些页面的后续请求提供服务 理想情况下,我希望通过两种方式使缓存无效: 设置缓存项的过期日期 显式使缓存项无效。例如,如果我的Django后端更新了某些数据,我想告诉Nginx使受影响页面的缓存无效 可以将Nginx设置为这样做吗?如何执行?您

我最近听说Nginx在其反向代理功能中添加了缓存。我环顾四周,但找不到太多关于它的信息

我想将Nginx设置为Apache/Django前面的缓存反向代理:将一些(但不是全部)动态页面的Nginx代理请求设置为Apache,然后缓存生成的页面,并从缓存中为这些页面的后续请求提供服务

理想情况下,我希望通过两种方式使缓存无效:

  • 设置缓存项的过期日期
  • 显式使缓存项无效。例如,如果我的Django后端更新了某些数据,我想告诉Nginx使受影响页面的缓存无效

  • 可以将Nginx设置为这样做吗?如何执行?

    您可以使用memcached作为缓存引擎,并将nginxhttpmemcached模块配置为以下链接,以基于URI执行缓存:


    后端Django应该在memcached中设置/更新数据(静态和动态)。

    无效代理缓存信息:

    这可能与编程有关,但我仍然认为,使用memcached模块会得到更好的答案,因为我无法将缓存页面放在磁盘上,对于persistenmemcached,我想做的是,您可以使用Tugela Cache,memcachedb,使用相同的协议。对于squid样式,可以从使用ncache,但它与编程无关:D