2

Memcaching なしで MySQLDB を使用する既存の Django Web アプリケーションがあります。このサイトの応答性を向上させるために memcaching を実装したいと考えています。ここに手順が表示されます。

ただし、これらの指示では、未回答の質問がいくつか残っています。memcached サーバーをセットアップした後、memcache を機能させるために必要なことはこれだけですか? または、settings.py 以外のコードを変更する必要がありますか? モデルが読み書きされるたびに、Django は舞台裏ですべての memcaching 操作を適切に処理しますか? (そうであれば、それは非常にクールです!) memcaching が DB アクセス数にどのような改善をもたらしているかを確認するにはどうすればよいですか?

4

1 に答える 1

3

あなたが行ったことは、キャッシュ バックエンドの設定にすぎません。

キャッシュの恩恵を受けるには、キャッシュが適切で、パフォーマンスにプラスの影響を与える場所を見つける必要があります:ビューテンプレート.. ビュー全体、テンプレート、テンプレート フラグメントなどをキャッシュできます。

自動化が必要な場合は、Johnny Cacheパッケージをご覧ください。

Johnny Cache は、django アプリケーションのキャッシング フレームワークです。これは django キャッシングの抽象化で動作しますが、特に memcached の使用を念頭に置いて開発されました。その主な機能は、すべての読み取りを一貫した方法で自動的にキャッシュする Django の ORM のパッチです。

またはdjango-cache-machineパッケージ:

Cache Machine は、ORM を介して Django モデルの自動キャッシュと無効化を提供します。

django-cacheopsDjango ORM キャッシングの改善を目指しているという興味深いプロジェクトもありますが、Redisバックエンドを使用しています。

また、django_debug_toolbars キャッシュ パネルは、将来的に役立ちます。

django クエリセットには組み込みの内部キャッシュがありますが、キャッシュ フレームワークとは関係がないことに注意してください。

参考文献:

于 2014-06-01T03:44:37.910 に答える