質問

jqGridでDjangoを使用し、AJAXを介してページを読み込んでいます。クエリが非常に複雑で、ページの読み込みが非常に遅い場合があります。これは、遠いページの方がはるかに遅いためです(予想されることですが、結果は多くの場合10万オブジェクトを超えます)。結果のキャッシュによって問題が解決し、最初のページの読み込みに時間がかかると思いましたが、その後、後続のページの読み込みが大幅に加速されます。

代わりに、最初のページの読み込みが非常に遅くなり、後続のページでさえ多くの時間がかかりました(標準のPCでは11秒)。locmemキャッシュバックエンドを使用しています。 何か案は?比較のために、結果をグローバル辞書に保存しようとしましたが、それははるかに優れていました(後続のページは1秒しかかかりません)が、安全な方法ではないと聞きました。

何かアイデアはありますか?

役に立ちましたか?

解決

キャッシュをウォームアップすることを検討できます。これは手動で行うことも、セロリなどのキューイングフレームワークを使用して、後続のページまたはクエリセットのキャッシュを別のページの読み込み後にバックグラウンドで実行することもできます。

透過的なクエリセットキャッシングを行うjohnny-cacheを見てください。これにより(繰り返しますが、 )すべての問題が解決する可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top