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