РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
676 of 818 menu

Метод clear

Метод clear применяется к объекту кеша и удаляет все ключи из текущего бэкенда кеширования. Это простой и эффективный способ полностью очистить кеш, когда необходимо сбросить все закешированные данные. Метод не принимает никаких аргументов и не возвращает значения.

Синтаксис

from django.core.cache import cache cache.clear()

Пример

Давайте очистим весь кеш после добавления нескольких значений:

from django.core.cache import cache # Добавляем данные в кеш cache.set("user_1", {"name": "John", "age": 30}) cache.set("user_2", {"name": "Jane", "age": 25}) cache.set("product_100", "Laptop") # Проверяем, что данные есть print(cache.get("user_1")) print(cache.get("product_100")) # Очищаем весь кеш cache.clear() # Проверяем, что данные удалены print(cache.get("user_1")) print(cache.get("product_100"))

Результат выполнения кода:

{"name": "John", "age": 30} "Laptop" "None" "None"

Пример

Давайте используем clear для сброса кеша перед обновлением данных на сайте:

from django.core.cache import cache from myapp.models import Article def refresh_cache(): # Очищаем старый кеш cache.clear() # Кешируем свежие данные articles = Article.objects.filter(status="published") cache.set("published_articles", articles, timeout=3600) return "Cache refreshed successfully"

Результат выполнения кода:

"Cache refreshed successfully"

Пример

Вот пример работы с clear в контексте управления сессиями пользователей:

from django.core.cache import cache from django.contrib.auth.models import User def clear_user_sessions(): # Сохраняем список активных пользователей перед очисткой active_users = cache.get("active_users", []) # Очищаем весь кеш cache.clear() # Восстанавливаем данные о пользователях if active_users: for user_id in active_users: user = User.objects.get(id=user_id) cache.set(f"user_{user_id}", user, timeout=3600) return "User sessions cleared and restored"

Результат выполнения кода:

"User sessions cleared and restored"

Смотрите также

  • метод delete,
    который удаляет один ключ из кеша
  • метод delete_many,
    который удаляет несколько ключей из кеша
  • метод set,
    который добавляет значение в кеш
  • метод get,
    который получает значение из кеша
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить