fix: better caching of search results (#5782)
This commit is contained in:
parent
0864b73aab
commit
d6da25a448
|
@ -65,6 +65,7 @@ from ietf.name.models import DocTagName, DocTypeName, StreamName
|
|||
from ietf.person.models import Person
|
||||
from ietf.person.utils import get_active_ads
|
||||
from ietf.utils.draft_search import normalize_draftname
|
||||
from ietf.utils.log import log
|
||||
from ietf.doc.utils_search import prepare_document_table
|
||||
|
||||
|
||||
|
@ -222,12 +223,14 @@ def search(request):
|
|||
return HttpResponseBadRequest("form not valid: %s" % form.errors)
|
||||
|
||||
cache_key = get_search_cache_key(get_params)
|
||||
results = cache.get(cache_key)
|
||||
if not results:
|
||||
cached_val = cache.get(cache_key)
|
||||
if cached_val:
|
||||
[results, meta] = cached_val
|
||||
else:
|
||||
results = retrieve_search_results(form)
|
||||
cache.set(cache_key, results)
|
||||
|
||||
results, meta = prepare_document_table(request, results, get_params)
|
||||
results, meta = prepare_document_table(request, results, get_params)
|
||||
cache.set(cache_key, [results, meta]) # for settings.CACHE_MIDDLEWARE_SECONDS
|
||||
log(f"Search results computed for {get_params}")
|
||||
meta['searching'] = True
|
||||
else:
|
||||
form = SearchForm()
|
||||
|
|
Loading…
Reference in a new issue