Задать вопрос
@sandrosklyarov

Django — таймаут кэша считается после последнего обращения или после его установки?

from django.core.cache import caches, DEFAULT_CACHE_ALIAS

cache = caches[DEFAULT_CACHE_ALIAS]
cache.set(cache_key, data, timeout)


Вопрос такой - я устанавливаю значению в кэше таймаут, предположим, 300 секунд. Кэш сбросится через 300 секунд после момента его установки, или через 300 секунд после последнего обращение к нему?

data = cache.get(cache_key)
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Skillbox
    Python-фреймворк Django
    3 месяца
    Далее
  • ProductStar
    Django + Python разработка
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
netpastor
@netpastor
Python developer
Время жизни после установки
https://docs.djangoproject.com/en/dev/topics/cache...
The timeout argument is optional and defaults to the timeout argument of the appropriate backend in the CACHES setting (explained above). It’s the number of seconds the value should be stored in the cache.
Ответ написан
@deliro
Конечно через 300 секунд после установки.

После последнего обращения — бред какой-то. Хочешь сказать, если я буду каждые 299 секунд ходить в кэш, то смогу держать значение ключа бесконечно? А как же инвалидация, протухание кэша? И как вообще такой кэш контролировать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы