实现memcached:native django的模块或on(前端服务器,反向代理)nginx

时间:2011-10-11 21:24:27

标签: django nginx memcached

我有一个设置,例如nginx在前面为static filesreverse proxying apache提供django来自mod_wsgi和我想在我的设置中实现memcached。我的服务器今天无法处理大量流量,但很快就会变大,最好先做好准备。

我看到两个选项:第一个是使用django的本机memcached模块,它自动处理很多事情(afaik,在评论上确认),例如更新数据库条目时,它会删除相关的密钥,也许用户认证的页面(请确认)。

另一个是在nginx上实现memcached。负责的缓存结构应该是前端服务器对我来说似乎更具语义性;我不太确定,但这就像分工。但是,如果我选择这个,我必须编写更多代码来释放更新和用户身份验证上的缓存键。这当然需要一些时间,但我并不急。

第一个是简单的方法,第二个是更难但似乎更合乎逻辑。在可管理性和响应时间以及实施所需的工作方面,最佳选择是什么?它值得吗?

此外,我现在只有一个托管网站需要缓存,但将来会有更多网站,而且可能不会基于python。你可能想要考虑这一点。

1 个答案:

答案 0 :(得分:2)

走nginx路线可能有一个优势......但我没有看到它。

使用Django模块的优点:

  1. 您可以将数据设置为缓存,例如昂贵的查询和API调用结果,而不是锁定到缓存整个视图。

  2. 这很容易,然后您可以回到使应用程序变得很酷。