@cached_property
の@
はデコレータと呼ぶPythonの文法です。デコレータは、@に続く関数で、次の行からの関数の動作を置き換えます。
@cached_property
の場合は、次の行からの関数の返り値を記憶しておいて、何度も同じ関数が呼ばれた時に、関数そのものを実行せずに、覚えていた返り値を返す動作に置き換えます。
例えば、DBアクセスを伴う関数で重たいけど、DBそのものはめったに変更されない、というような場合に使います。@cached_property
を使うことで、実際のDBアクセスをすること無く、前回と同じ返り値を返します。それによって、DBアクセスが大幅に減り、性能が向上します。
WSGI(主にDjango)でキャッシュを考えるときの注意と対応方法
の後半部分が参考になると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/04 15:48