次のようなセットアップがあります nginx
サービングの前に static files
そして reverse proxying
に apache
ために django
経由 mod_wsgi
そして、セットアップでmemcachedを実装します。 「サーバーが今日処理できないような大量のトラフィックはありませんが、すぐに大きくなります。」事前に準備しておくのが最善です。
私には2つのオプションがあります: 1つ目は、データベースエントリの更新時、関連キーの削除、ユーザー認証ページの削除など、多くのことを自動的に処理するdjangoのネイティブmemcachedモジュールを使用することです(確認してください)。
もう1つは、nginxでmemcachedを実装しています。 キャッシングの責任ある構造は、フロントサーバーである必要があります。私はそれを確信していませんが、それは責任の分割のようなものです。ただし、これを選択した場合、更新およびユーザー認証でキャッシュキーを解放するためのコードをさらに作成する必要があります。これにはもちろん時間がかかりますが、急いでいません。
最初の方法は簡単な方法で、2番目の方法は難しいが、より論理的に見える。管理性と応答時間、および実装に必要な作業の観点から、最良の選択肢は何でしょうか?それは価値がありますか?
また、私がホストしているサイトは現在キャッシュが1つしかありませんが、将来的にはより多くのサイトになります。 ではないかもしれない Pythonに基づいている。あなたはこれを考慮したいかもしれません。
回答:
回答№1は2nginxルートに行くことには利点があるかもしれませんが、私はそれを見ていません。
Djangoのモジュールを使用する利点:
ビュー全体をキャッシュするのではなく、高価なクエリやAPI呼び出し結果などのデータをキャッシュに設定できます。
簡単です。アプリケーションをクールに戻すことができます。