私がやっていることは、リクエストがDjangoにヒットするのを避け、nginxから直接キャッシュされたデータを提供することです。
関連する質問:DjangostaticgeneratorとCACHE_BACKEND
これに関しては、2つの選択肢があるようです:
https ://github.com/torchbox/django-nginx-memcachehttps:
//github.com/mrj0/staticgenerator-これは使いやすいようです
django-nginx-memcacheを試した後、いくつかの欠点が見つかりました。
- djangoからキャッシュされたコンテンツを提供するためのフォールバックはありません(修正可能)。
- md5の合計URLを生成するためにnginxを再コンパイルする必要があります(これは修正できないと思います)。
- 編集:他の解決策(http://soyrex.com/articles/django-nginx-memcached/など)を調べたところ、md5cache_keysを使用する必要がないようです。多分これはオプションであるはずです。
- キャッシュする必要のあるURLパターンのリストを定義できると便利です。これまでのところ、デコレータのみが使用可能です(修正可能)。
- 私の意見では、コードはUpdateCacheMiddlewareとFetchFromCacheMiddlewareを使用した標準のdjangoキャッシュバックエンドをモデルにしたものにする必要があります。これにより、標準のdjangoキャッシュソリューションが存在する場所にnginxキャッシュを実装しやすくなります。また、問題#1を解決します(修正可能)。
- モジュールの奇妙な命名。プロジェクトの名前はdjango-nginx-memcacheですが、パッケージの名前はDjango-Memcache-for-Nginxで、アプリnginx_memcacheはdjangoのinstalled_appsに含めることができます(修正可能)。
どちらが速いですか?
どちらを使用しますか、またその理由は何ですか?django-nginx-memcache
で発生する問題を修正する必要がありますか、それともstaticgeneratorの方が優れていますか?