我在Google App Engine上运行Django(1.0.2),并且想知道以下Django缓存模块中哪些(如果有的话)本身可以与Google的memcache实现一起使用:
Middlewear
django.middleware.cache.UpdateCacheMiddleware
django.middleware.common.CommonMiddleware
django.middleware.cache.FetchFromCacheMiddleware
装饰
django.views.decorators.cache.cache_page
模板片段缓存
在模板中:
{{ load cache }}{% cache 500 cache_name %}...cached...{% endcache %}
低级API
django.core.cache
如果这些模块中的一些或全部应该起作用,是否需要进行任何必要的更改才能使它们正常工作,并且在使用它们时是否应该注意任何问题或陷阱?
我仔细阅读了文档并花了一些时间搜索Google,但我还没有看到答案.我怀疑它可能是一个"交钥匙"的解决方案,但我担心使用Django类而没有至少一个其他人没有问题的参考.
非常感谢你.
不,app引擎提供自定义memcached API.你需要做什么(可能已经有一个开源实现,我不知道),是为这个API编写一个Django缓存后端,它们非常简单,你可以使用现有的memcached后端作为新单位的基础:http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/memcached.py. http://code.google.com/appengine/docs/python/memcache/usingmemcache.html显示了App Engine memcached API的外观.