【问题标题】:Will Django's cache modules work on Google App Engine?Django 的缓存模块可以在 Google App Engine 上运行吗?
【发布时间】:2010-11-11 10:37:34
【问题描述】:

我在 Google App Engine 上运行 Django (1.0.2),并且想知道以下 Django caching modules 中的哪一个(如果有)应该与 Google's memcache 实现一起工作:

中间件

  • 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 类而不至少有一个其他人没有问题地完成它的引用持谨慎态度。

谢谢。

【问题讨论】:

    标签: django google-app-engine memcached django-cache


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        Running Django on Google App Engine 说“几乎可以在 Google App Engine 上使用整个 Django 堆栈,包括中间件。”此外,该页面有一个示例,其中包含您询问的其中一个类,因此至少应该可以工作:

        MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        ...
        

        this one 等各种网站都有使用 AppEngine 和 Django 缓存代码的代码,例如 django.middleware.cache.UpdateCacheMiddleware。请参阅this Google search 以获取其他质量参差不齐的参考资料。 ;)

        我没有实际使用过这个东西,所以我只能相信别人的话,但看起来好像很多人都做过。

        编辑: Django 票证 73987399 与此相关。

        【讨论】:

          【解决方案4】:

          不,应用引擎提供了一个自定义的 memcached API。您需要做的是(可能已经有一个开源实现,我不知道),是为此 API 编写一个 Django 缓存后端,它们非常简单,您可以使用现有的 memcached 后端作为您新的基础:http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/memcached.pyhttp://code.google.com/appengine/docs/python/memcache/usingmemcache.html 展示了 App Engine 内存缓存 API 的外观。

          【讨论】:

          • 郑重声明,我认为对这个问题的两个答案都很有价值。目前尚不清楚 Stackoverflow 将如何处理赏金结束时的票数平局,我曾希望它会在出现平局时平分赏金。不幸的是,它似乎武断地选择了一个答案并将所有的赏金授予它。谢谢你的回复,Lazypython,它很有帮助,我很感激。
          猜你喜欢
          • 1970-01-01
          • 2011-02-12
          • 2016-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-20
          • 2014-05-10
          • 1970-01-01
          相关资源
          最近更新 更多