Django nginx缓存、staticgenerator与memcached

Django nginx缓存、staticgenerator与memcached,django,caching,nginx,memcached,Django,Caching,Nginx,Memcached,我所做的是避免请求命中Django并直接从nginx提供缓存数据。 相关问题: 在这个问题上,似乎有两种选择: -这个似乎更容易使用 在尝试django nginx memcache后,我发现了一些缺点: 无法修复为来自django的缓存内容提供服务的回退。 nginx必须为md5和生成URL重新编译,我认为这是无法修复的。 编辑:查看其他解决方案后,例如:我发现似乎没有必要使用md5缓存密钥。也许这应该是一个选择。 如果能够定义一个应该缓存的url模式列表就好了。到目前为止,只有可用的装饰器可

我所做的是避免请求命中Django并直接从nginx提供缓存数据。 相关问题:

在这个问题上,似乎有两种选择: -这个似乎更容易使用

在尝试django nginx memcache后,我发现了一些缺点:

无法修复为来自django的缓存内容提供服务的回退。 nginx必须为md5和生成URL重新编译,我认为这是无法修复的。 编辑:查看其他解决方案后,例如:我发现似乎没有必要使用md5缓存密钥。也许这应该是一个选择。 如果能够定义一个应该缓存的url模式列表就好了。到目前为止,只有可用的装饰器可以修复。 在我看来,代码应该更多地仿效标准django缓存后端,使用UpdateChemiddle和FetchFromCacheMiddleware。这将使在标准django缓存解决方案存在的地方更容易实现nginx缓存。它还可以解决问题1,并且可以修复。 奇怪的模块命名。虽然项目名为django nginx memcache,但包名为django memcache for nginx,可以修复django安装的应用程序中包含的应用程序nginx_memcache。 哪个更快? 你会用哪一个?为什么?
我应该修复django nginx memcache的问题,还是staticgenerator更好?

您似乎希望缓存生成的页面。你试过清漆吗

不久前,我在研究Django的缓存,发现了这篇关于使用Varnish缓存缓存生成的页面的文章。


这似乎回答了我所有的问题,并提供了一个比django nginx memcache更优雅的解决方案,即修补django缓存系统:

第页评论中的基准: 静态内容的速度几乎是使用nginx从memcache提供服务速度的4倍

请求速率:6243.8请求/秒0.2毫秒/请求静态html

请求速率:2285.5请求/秒0.4毫秒/请求memcache中的相同html

我想我会选择staticgenerator,但请随时发布您的想法

编辑:
我意识到我正在并行运行两个Web服务器,如果使用staticgenerator,我需要一种同步缓存数据的方法。我想我可以把它分叉,让它通过网络在两台服务器上写文件。对此有何想法?

本着保持简单的精神,在Nginx的代理模块中使用cache指令如何


按照和

的思路,我试过清漆,我喜欢,谢谢。我正在研究其他解决方案。将nginx与memcached或生成的静态文件结合使用不会比varnish提供更好的性能,但它会给我更大的灵活性,并消除配置两个不同服务器的开销。