Djangoには、キャッシュバックエンドとして様々な機構をサポートしています。
また、バックエンドとは別に、キャッシュ化できるデータの単位も様々です。
特に「オブジェクト単位」でキャッシュ化できるため、原理的には変数ひとつだけをキャッシュデータ化することも可能で、まさに究極の粒度をもったキャッシュ機能であると言えます。
また、もっと上流のキャッシュ機能とDjangoベースのWebサーバーを連携させることも可能です。例えば、squidなどのProxyベースのキャッシュ機能との連携がそれに該当します。
まさに、なんでもあり、のDjangoキャッシュ機能ですが、今回はその中でも最も高速なメモリベースのキャッシュを中心に、キャッシュの設定方法を見ていきましょう。
高速化のために、ボトルネックとなる関数を発見し性能改善する必要があります。
そんなときはgprof等のプロファイラツールを使用しましょう。
また、最適化のためのオプションも有効です。