0

私は同僚のdjango haystack検索機能を最適化しようとしています.200個のモデルインスタンスをロードするqueryset.load_all()があります.load_all()からの結果をキャッシュできないので、それらの個々のモデルインスタンスをキャッシュする方法はありますか? load_all() は memcache から読み取り、それらのモデル インスタンスを取得しますか?

コードは次のようになります

result_set = query_set.load_all()[:self.max_results]
4

1 に答える 1

0

私は2つのステップでそれを解決しました:

  1. 結果をキャッシュするモデルのキャッシュ マネージャーを作成します。
  2. SearchIndex で index_queryset をオーバーライドして、使用するマネージャーを設定できるようにします。
def index_queryset(self):
    self.get_model().my_super_cache_manager.all()
于 2012-11-05T06:57:09.887 に答える