Есть счета, которые я кеширую, но с двумя записями в кеше.Первая запись в кеше сохраняется, если кеширование счетов существует или нет.Почему я это делаю?Потому что есть бизнес-логика (метод get_cache_timeout), которая сообщает мне, когда обновлять вторую запись кэша, которая содержит фактические данные счета.Итак, первый - это флаг для меня, чтобы понять, есть ли вторая запись кэша или нет.Если нет, я вызываю бэкэнд-систему и обновляю 1-ю и 2-ю записи в кэше.
Причина наличия 2-го ключа кеша с 60 днями заключается в том, что в худшем случае, если 1-я запись не существует, а затем вызываюпосле сбоя бэкэнд-системы, я хочу вернуть в качестве ответа вторую запись кэша вместо того, чтобы показывать ошибку.
cache.set(f'{invoices}_cache_exists', True, get_cache_timeout())
cache.set(f'{invoices}_cache', some_cache, 60*60*24*60)
Извините за неясное объяснение, но я надеюсь, что вы поняли идею этого решения.
Итак, в конце мой вопрос заключается в том, что для этой проблемы, как я могу избавиться от 1-й записи в кэш-памяти и иметь только 2-ю запись в кэше с 2-мя таймаутами?1-й дает мне указание, когда обновлять, а 2-й - удалить кеш.