将Django的高速缓存模块的工作在谷歌上应用程序的发动机?
-
16-09-2019 - |
题
我正在运行Django(1.0.2)在谷歌上应用程序的发动机,并想知道哪些(如果有的话)以下 Django缓存模块 应该对本身的工作 谷歌的缓存 执行:
Middlewear
django。中间件。高速缓存。UpdateCacheMiddleware
django。中间件。常见的。CommonMiddleware
django。中间件。高速缓存。FetchFromCacheMiddleware
装饰
- django。景。装饰。高速缓存。cache_page
模板碎片缓存
在一个模板:
{{ load cache }}{% cache 500 cache_name %}...cached...{% endcache %}
低级API
- django。核心。高速缓存
如果某些或所有这些模块应该来工作,是否有任何必要的修改,以使他们的正常工作,以及是否有任何问题或缺陷,应该一个时应注意使用他们?
我已经仔细阅读文件和花了一些时间,谷歌搜索,但是我还没有看到答案。我怀疑这可能是一个"关键"的解决方案,但谨慎使用Django类没有至少一个参照其他人已经做到了没有问题。
谢谢你请。
解决方案
运行Django在谷歌上应用程序的发动机 说"这是有可能使用几乎整个决堆在谷歌上应用程序的发动机,包括中间件。" 此外,该网页有一个例子,其中包括一个类要求有关,所以至少那个应该的工作:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
...
各种网站,例如 这一个 有代码使用AppEngine和Django缓存的代码,如django。中间件。高速缓存。UpdateCacheMiddleware.看看 这个谷歌搜索 对于其他参考文献,不同质量。;)
我还没有实际使用这些东西,所以我只能采取其他人'一词,但它确实似乎为,虽然多人有这样做。
其他提示
不,应用程序的发动机提供一个定制的缓存API。你需要什么做(以及有可能已经被一个开放源执行这个,我不知道),是编写一个Django后台高速缓存这API,他们是很简单,可利用现有的缓存后端为基础的新的一项: http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/memcached.py . http://code.google.com/appengine/docs/python/memcache/usingmemcache.html 显示了什么样的应用缓存机API看起来像。