Django Academy · Урок

Низкоуровневый API кэша и его очистка

Кэшируйте результаты запросов и удаляйте устаревшие ключи

Урок 4 из 413 шагов

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

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

Cache Anything You Like

The low-level cache API lets you store any Python object, like a query result, with full control over the key and timeout.

Import the cache Object

Reach for the shared cache object from django.core.cache to call its methods anywhere in your views or services.

from django.core.cache import cache

The Cache-Aside Pattern

The classic flow is cache-aside: try the cache, and only run the slow query when the value is missing.

stats = cache.get("stats")
if stats is None:
    stats = compute_stats()
    cache.set("stats", stats, 300)

get_or_set in One Call

Collapse that pattern with get_or_set, which returns the cached value or computes, stores, and returns it.

stats = cache.get_or_set("stats", compute_stats, 300)

Store Many at Once

Use set_many to write several keys in a single round trip, which is faster than many separate set calls.

cache.set_many({"a": 1, "b": 2}, 300)

Stale Data Is the Risk

Cached values can drift from the database. Removing an outdated entry so fresh data loads is called invalidation.

Delete a Key

Call delete with a key to drop one entry, forcing the next read to rebuild it from the source.

cache.delete("stats")

Invalidate on Save

A reliable habit is to delete the affected key right after the data changes, so users never see the old version.

post.save()
cache.delete("post_" + str(post.id))

Versioning Beats Deleting

Pass a version to set and get so bumping the number instantly retires a whole set of old keys at once.

cache.set("stats", data, version=2)

Atomic Counters

Increase a numeric key safely with incr, perfect for view counts where several requests update the same value.

cache.incr("page_views")

Clear Everything as a Last Resort

The clear method wipes the entire cache. It is a blunt tool, so save it for deploys, not for routine updates.

cache.clear()

Quick Check

Let's confirm the cleanest way to read or compute a value.

Recap

You mastered the low-level API: cache-aside with get_or_set, then keep data fresh by deleting keys or bumping the version. 🎯

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

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

Урок «Низкоуровневый API кэша и его очистка» бесплатный?

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

Чему я научусь в уроке «Низкоуровневый API кэша и его очистка»?

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

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

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

Сколько времени занимает урок «Низкоуровневый API кэша и его очистка»?

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

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

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

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

  1. Серверы кэша и Redis
  2. Кэширование представлений и всего сайта
  3. Кэширование фрагментов шаблонов
  4. Низкоуровневый API кэша и его очистка
← Назад к Django Academy