""" Утилиты для управления кешем. """ from django.core.cache import cache def invalidate_user_cache(user_id: int, cache_prefix: str = None): """ Инвалидировать кеш для конкретного пользователя. Args: user_id: ID пользователя cache_prefix: Префикс кеша (например, 'dashboard', 'profile') """ if cache_prefix: cache_key = f'{cache_prefix}_{user_id}' cache.delete(cache_key) else: # Удаляем все кеши для пользователя prefixes = ['mentor_dashboard', 'client_dashboard', 'parent_dashboard', 'profile'] for prefix in prefixes: cache.delete(f'{prefix}_{user_id}') def invalidate_dashboard_cache(user_id: int, role: str = None): """ Инвалидировать кеш дашборда для пользователя. Args: user_id: ID пользователя role: Роль пользователя ('mentor', 'client', 'parent') """ if role: cache_key = f'{role}_dashboard_{user_id}' cache.delete(cache_key) else: # Удаляем все возможные кеши дашборда for role_name in ['mentor', 'client', 'parent']: cache.delete(f'{role_name}_dashboard_{user_id}')