私は Apache Prometheus モニタリングと というモデルを備えた Django アプリケーションを持っていますSample
。
Sample.objects.count() メトリックを監視し、この値を具体的な時間間隔でキャッシュして、データベースでのコストのかかる COUNT(*) クエリを回避したいと考えています。
このチュートリアル https://github.com/prometheus/client_python#custom-collectorsから、 カスタムコレクターを作成する必要があることを読みました。
これを達成するための最良のアプローチは何ですか?djangoにSample.objects.count()
キャッシュされた値を取得してK秒後に更新する方法はありますか? また、アプリケーションで Redis を使用しています。この値をそこに保存する必要がありますか? Sample.objects.count()
キャッシュ値を更新するために別のスレッドを作成する必要がありますか?