0Pricing
Flask Academy · Урок

Кэширование представления с помощью cached

Запоминайте целые ответы по URL.

«Кэширование представления с помощью cached» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Caching Whole Responses

Some pages cost real work to build. The cached decorator stores the entire response, so repeat visitors get an instant copy.

Apply the Decorator

You add @cache.cached() right above your view function. The first request runs it; later ones replay the stored result.

@app.route("/report")
@cache.cached()
def report():
    return build_report()

Order of Decorators

Stacking matters. Put @app.route on top and @cache.cached below it, so routing happens before caching kicks in.

Set a Per-View Timeout

You can override the global setting per view. The timeout argument says how many seconds this specific response stays fresh.

@cache.cached(timeout=60)
def report():
    ...

Cached by Request Path

By default the cache key is the request path. So /report and /report/extra are stored as separate, independent entries.

Query Strings Are Ignored

Watch out: the default key skips the query string. So /list?page=2 and /list?page=3 would share one cached entry.

Vary on the Full URL

To split by query string, set query_string=True. Now each unique URL, parameters included, gets its own cached response.

@cache.cached(query_string=True)
def listing():
    ...

Custom Cache Keys

Need full control? Pass a make_cache_key function that builds the key yourself, for example mixing in the current user.

@cache.cached(make_cache_key=my_key)

Only Cache Safe Methods

Cache GET requests, never POST. Caching a write would replay an old body and skip the side effects users expect.

Skip the Cache When Needed

Return unless a condition holds and the view runs fresh every time. Handy to bypass caching for logged-in users.

@cache.cached(unless=lambda: g.user)

First Hit vs Later Hits

The first request is a cache miss and does the work. Every later request within the timeout is a fast cache hit.

Quick Check

Your list page uses ?page= but every page shows the same cached content.

Recap: View Caching

You learned to wrap views with @cache.cached, tune the timeout, key on the full URL, and skip caching for writes. 🚀

Часто задаваемые вопросы

Урок «Кэширование представления с помощью cached» бесплатный?

Да — полный текст урока «Кэширование представления с помощью cached» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Кэширование представления с помощью cached»?

Запоминайте целые ответы по URL. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Кэширование представления с помощью cached»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка Flask-Caching
  2. Кэширование представления с помощью cached
  3. Мемоизация ресурсоёмких функций
  4. Инвалидация и истечение записей кэша
← Назад к Flask Academy