我正在做的是避免请求命中 Django 并直接从 nginx 提供缓存数据。
相关问题:Django staticgenerator vs CACHE_BACKEND
似乎有两种选择:https:
//github.com/torchbox/django-nginx-memcache
https://github.com/mrj0/staticgenerator - 这个似乎更容易使用
在尝试了 django-nginx-memcache 之后,我发现了一些缺点:
- 没有从 django 提供缓存内容的回退(可以修复)。
- nginx 必须为 url 的 md5 sum 生成重新编译(我认为这无法修复)。
- 编辑:查看其他解决方案(例如:http ://soyrex.com/articles/django-nginx-memcached/ )后,我发现似乎没有必要使用 md5 cache_keys。也许这应该是一个选择。
- 能够定义应该缓存的 url 模式列表会很好。到目前为止,只有装饰器可用(可以修复)。
- 在我看来,代码应该更多地模仿标准 django 缓存后端,使用UpdateCacheMiddleware和FetchFromCacheMiddleware。这将使存在标准 django 缓存解决方案的地方更容易实现 nginx 缓存。它还可以解决问题 #1(可以修复)。
- 模块的奇怪命名。虽然项目名为django-nginx-memcache,但包名为Django-Memcache-for-Nginx和应用程序nginx_memcache以包含在 django installed_apps 中(可以修复)。
哪个更快?
你会使用哪一个,为什么?
我应该解决我在django-nginx-memcache上遇到的问题,还是静态生成器更好?