Оптимизация?

This commit is contained in:
zein
2025-11-03 08:06:09 +03:00
parent 1dff9fbffb
commit 1e6ae586fc

View File

@@ -2,6 +2,7 @@ from django.shortcuts import render
from django.core.paginator import Paginator from django.core.paginator import Paginator
from django.core.cache import cache from django.core.cache import cache
from .models import manga_collection from .models import manga_collection
import hashlib
def manga_catalog(request): def manga_catalog(request):
@@ -16,12 +17,30 @@ def manga_catalog(request):
# Получаем выбранные теги # Получаем выбранные теги
selected_tags = request.GET.getlist('tags') selected_tags = request.GET.getlist('tags')
query = {} query = {}
query_key = hashlib.md5(str(query).encode()).hexdigest()
cache_key = f"count_{query_key}"
total_filtered = cache.get(cache_key)
if total_filtered is None:
total_filtered = manga_collection.count_documents(query)
cache.set(cache_key, total_filtered, 60) # на 1 минуту
""" query = {}
if selected_tags: if selected_tags:
query['tags'] = {'$all': selected_tags} query['tags'] = {'$all': selected_tags}
# Считаем количество для пагинации (можно тоже кешировать по хешу, но пока так) # Считаем количество для пагинации (можно тоже кешировать по хешу, но пока так)
total_filtered = manga_collection.count_documents(query) total_filtered = manga_collection.count_documents(query)"""
# Получаем номер страницы # Получаем номер страницы
page_number = request.GET.get('page') or 1 page_number = request.GET.get('page') or 1