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

Метод touch

Метод touch применяется к объекту кэша Django и обновляет время истечения (TTL) для указанного ключа. Если ключ существует, его срок жизни продлевается на переданное количество секунд. Если ключ не существует, метод возвращает False. Это полезно для продления жизни часто используемых данных без необходимости повторной генерации.

Синтаксис

cache.touch(key, timeout=None)

Параметры метода:

- key: строковый идентификатор ключа в кэше - timeout: время жизни в секундах (по умолчанию используется значение из настроек CACHES)

Метод возвращает True, если ключ был успешно обновлен, и False, если ключ не существует.

Пример

Давайте установим значение в кэш и затем обновим его время жизни:

from django.core.cache import cache # Устанавливаем значение с таймаутом 60 секунд cache.set('user_data', {'name': 'John', 'age': 30}, timeout=60) # Обновляем время жизни ключа на 120 секунд result = cache.touch('user_data', timeout=120) print(result) # Проверяем, что ключ еще существует data = cache.get('user_data') print(data)

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

"True" "{'name': 'John', 'age': 30}"

Пример

Попробуем обновить время жизни несуществующего ключа:

from django.core.cache import cache # Пытаемся обновить несуществующий ключ result = cache.touch('non_existent_key', timeout=60) print(result) # Проверяем, что ключ не появился data = cache.get('non_existent_key') print(data)

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

"False" "None"

Пример

Использование метода с таймаутом по умолчанию из настроек:

from django.core.cache import cache # Устанавливаем значение cache.set('article', 'Django caching tutorial', timeout=30) # Обновляем время жизни с таймаутом по умолчанию result = cache.touch('article') print(result) # Получаем оставшееся время жизни (если поддерживается бэкендом) from django.core.cache.backends.base import DEFAULT_TIMEOUT print("Timeout updated to default")

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

"True" "Timeout updated to default"

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

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