4

私は Google App Engine で Django (1.0.2) を実行しています。次のDjango キャッシュ モジュールのうち、 Google の 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 で検索するのに時間を費やしましたが、これに対する答えは見つかりませんでした。「ターンキー」ソリューションである可能性があると思いますが、他の誰かが問題なくそれを行ったという参照が少なくとも1つない状態でDjangoクラスを使用することには注意が必要です。

よろしくお願いします。

4

4 に答える 4

8

いいえ、アプリ エンジンはカスタム 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 memcached API がどのように見えるかを示しています。

于 2009-07-26T05:56:10.887 に答える
4

Google App Engine で Django を実行すると、「ミドルウェアを含め、Google App Engine でほぼすべての Django スタックを使用できる」と書かれています。また、そのページには、質問したクラスの 1 つを含む例があるため、少なくとも 1 つが機能するはずです。

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

このようなさまざまなサイトには、AppEngine を使用するためのコードと、django.middleware.cache.UpdateCacheMiddleware などの Django キャッシュ コードがあります。さまざまな品質の他のリファレンスについては、この Google 検索を参照してください。;)

私は実際にこのようなものを使用していないので、他の人の言葉を受け入れることしかできませんが、複数の人がそれを行っているようです.

編集: Django チケット7398および7399がこれに関連しています。

于 2009-07-24T23:21:15.273 に答える
0

これが欲しい https://github.com/django-nonrel/djangoappengine

于 2012-01-25T12:29:11.837 に答える
0

これを確認する必要があります http://code.google.com/p/google-app-engine-django/

于 2010-07-23T16:25:17.863 に答える