Инвалидация и истечение записей кэша
Очищайте устаревшие данные и задавайте время ожидания.
«Инвалидация и истечение записей кэша» — бесплатный урок Flask Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
The Hardest Part
Caching is easy until data changes. Invalidation means removing stale entries so users never see outdated content.
Time-Based Expiry
The simplest tool is a timeout. After the set seconds pass, the entry expires on its own and the next call refills it.
@cache.cached(timeout=30)Pick a Sensible TTL
Your TTL trades freshness for speed. A short one means more recomputes; a long one risks serving older data longer.
Delete One Key
When data changes now, do not wait for expiry. Call cache.delete with the key to evict that single entry at once.
cache.delete("user_42")Clear Everything
The blunt option is cache.clear, which wipes every entry. Use it sparingly, since it forces a full cold rebuild.
cache.clear()Evict a Memoized Result
For memoized helpers, reach for delete_memoized to drop a cached function result the moment its source data updates.
cache.delete_memoized(get_profile, user_id)Invalidate on Write
A clean pattern: right after you save a change, delete the matching cache key so the next read rebuilds it fresh.
db.session.commit()
cache.delete(key)Set vs Default Timeout
You can override expiry per entry with set and a timeout, ignoring the global default for that one value.
cache.set("k", v, timeout=10)Never-Expire Entries
Passing timeout=0 stores a value that never expires on its own. You then become responsible for deleting it.
cache.set("flag", True, timeout=0)Versioned Keys
A neat trick is putting a version in the key. Bump the version and every old entry is ignored without deleting anything.
key = f"posts_v{VERSION}"Stale Data Is a Bug
Treat showing outdated content as a real defect. Every write path should have a matching invalidation step planned.
Quick Check
A user updates their profile but the page still shows the old name.
Recap: Invalidation
You can expire by timeout, delete single keys, clear all, evict memoized results, and invalidate on write. Cache wisely! 🧠
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Инвалидация и истечение записей кэша» бесплатный?
Да — полный текст урока «Инвалидация и истечение записей кэша» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Инвалидация и истечение записей кэша»?
Очищайте устаревшие данные и задавайте время ожидания. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Инвалидация и истечение записей кэша»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Настройка Flask-Caching
- Кэширование представления с помощью cached
- Мемоизация ресурсоёмких функций
- Инвалидация и истечение записей кэша