/ / memcachedの実装:ネイティブdjangoのモジュールまたは(フロントサーバー、リバースプロキシ)nginx-django、nginx、memcached

memcached:native djangoのモジュールを実装するか(フロントサーバ、リバースプロキシ)nginx - django、nginx、memcached

次のようなセットアップがあります nginx サービングの前に static files そして reverse proxyingapache ために django 経由 mod_wsgi そして、セットアップでmemcachedを実装します。 「サーバーが今日処理できないような大量のトラフィックはありませんが、すぐに大きくなります。」事前に準備しておくのが最善です。

私には2つのオプションがあります: 1つ目は、データベースエントリの更新時、関連キーの削除、ユーザー認証ページの削除など、多くのことを自動的に処理するdjangoのネイティブmemcachedモジュールを使用することです(確認してください)。

もう1つは、nginxでmemcachedを実装しています。 キャッシングの責任ある構造は、フロントサーバーである必要があります。私はそれを確信していませんが、それは責任の分割のようなものです。ただし、これを選択した場合、更新およびユーザー認証でキャッシュキーを解放するためのコードをさらに作成する必要があります。これにはもちろん時間がかかりますが、急いでいません。

最初の方法は簡単な方法で、2番目の方法は難しいが、より論理的に見える。管理性と応答時間、および実装に必要な作業の観点から、最良の選択肢は何でしょうか?それは価値がありますか?

また、私がホストしているサイトは現在キャッシュが1つしかありませんが、将来的にはより多くのサイトになります。 ではないかもしれない Pythonに基づいている。あなたはこれを考慮したいかもしれません。

回答:

回答№1は2

nginxルートに行くことには利点があるかもしれませんが、私はそれを見ていません。

Djangoのモジュールを使用する利点:

  1. ビュー全体をキャッシュするのではなく、高価なクエリやAPI呼び出し結果などのデータをキャッシュに設定できます。

  2. 簡単です。アプリケーションをクールに戻すことができます。