@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)
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 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 секунд ходить в кэш, то смогу держать значение ключа бесконечно? А как же инвалидация, протухание кэша? И как вообще такой кэш контролировать?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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