我目前在三个 Django 应用程序 (Apache/mod_wsgi) 前使用 nginx 的 proxy_cache 进行基于文件的缓存。对于某些位置/URL,我禁用了 proxy_cache 并改为在 Django 应用程序中使用 Memcached(每个视图)。现在我想知道将 nginx 指向 Memcached 是否更有效率。
我在这里读到,nginx 可以提供来自 Memcached 的页面——但是 Django 在为每个视图缓存配置时是否将完整的页面写入 Memcached(并且它是否根据 @cache_page 参数设置过期日期)?
使用不同的应用程序写入和读取缓存总是很困难,即使有高度规定的数据格式/协议也是如此。在这种情况下,虽然 nginx 和 django 都可以访问 memcached,但它们不太可能使用相同的数据/索引格式。
反向代理缓存与源服务器缓存截然不同。实际上,在应用程序层进行任何输出缓存是没有意义的(尽管在这里进行数据缓存通常是个好主意)。所有通过 HTTP 发送出去的内容都应该由 nginx 缓存,并且只能由 nginx 缓存。它使用什么基材是一个不同的问题。