0Pricing
Redis Caching & Messaging (Pub/Sub, Streams) · Урок

Истечение срока действия ключей и TTL в Redis

Узнайте, как Redis позволяет задавать для ключей время жизни, чтобы они автоматически истекали, какие команды управляют TTL и как Redis решает, когда удалять истёкшие ключи

«Истечение срока действия ключей и TTL в Redis» — бесплатный урок Redis Caching & Messaging (Pub/Sub, Streams) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Redis Caching & Messaging (Pub/Sub, Streams), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Redis Caching & Messaging (Pub/Sub, Streams) содержит 4 уроков всего.

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

Why Keys Need to Expire

Redis often holds temporary data — sessions, one-time codes, cached responses. Expiration lets a key delete itself after a set time so memory stays lean.

Setting a TTL with EXPIRE

EXPIRE attaches a time-to-live in seconds to an existing key. Once the clock runs out, the key vanishes. See the example below.

SET session:42 "active"
EXPIRE session:42 3600

Set and Expire in One Step

Set value and TTL together with SET ... EX — safer than two separate commands, since there's no window where the key has no expiry.

SET otp:99 "123456" EX 300

Checking Remaining Time

TTL returns the seconds left on a key. It returns -1 if the key has no expiry, and -2 if the key doesn't exist at all.

TTL session:42

Millisecond Precision

For finer control, PEXPIRE and PTTL work in milliseconds instead of seconds. The code below sets and reads a millisecond TTL.

PEXPIRE otp:99 1500
PTTL otp:99

Expiring at a Specific Time

EXPIREAT takes a Unix timestamp, so a key can die at an exact wall-clock moment — like precisely at midnight.

EXPIREAT daily:report 1893456000

Removing an Expiry

PERSIST strips a key's TTL, making it permanent again — handy when temporary data gets promoted to durable.

PERSIST session:42
TTL session:42

How Redis Deletes Expired Keys

Redis removes expired keys two ways: lazy deletion checks on access, and active deletion samples keys in a background task and purges expired ones.

Writes Can Clear TTL

Watch out: a plain SET (no EX) overwrites a value and clears its existing TTL. Modifying commands like APPEND or INCR keep the TTL intact.

Common Use Cases

TTL powers real patterns: auto-expiring sessions, rate-limit counters, one-time passwords and verification tokens, and caches that refresh after N seconds.

Keyspace Notifications on Expiry

Redis can publish an event when a key expires via keyspace notifications, so your app can react. Enable expired-key events, then subscribe. See below.

CONFIG SET notify-keyspace-events Ex
SUBSCRIBE __keyevent@0__:expired

Quick Check

Test your expiration knowledge.

Recap

Recap: EXPIRE and SET ... EX set a TTL, TTL reads it (-1 none, -2 missing), PEXPIRE/EXPIREAT give finer control, PERSIST removes it, plain overwrites clear it.

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

Урок «Истечение срока действия ключей и TTL в Redis» бесплатный?

Да — полный текст урока «Истечение срока действия ключей и TTL в Redis» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Redis Caching & Messaging (Pub/Sub, Streams), подпишись на CoddyKit PRO. Курс Redis Caching & Messaging (Pub/Sub, Streams) содержит 4 уроков всего.

Чему я научусь в уроке «Истечение срока действия ключей и TTL в Redis»?

Узнайте, как Redis позволяет задавать для ключей время жизни, чтобы они автоматически истекали, какие команды управляют TTL и как Redis решает, когда удалять истёкшие ключи Ты практикуешь Redis Caching & Messaging (Pub/Sub, Streams) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Redis Caching & Messaging (Pub/Sub, Streams)?

Предыдущий опыт не требуется. Redis Caching & Messaging (Pub/Sub, Streams) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Истечение срока действия ключей и TTL в Redis»?

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

Можно ли писать и запускать код в этом уроке Redis Caching & Messaging (Pub/Sub, Streams)?

Да. Каждый урок Redis Caching & Messaging (Pub/Sub, Streams) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Введение в Redis
  2. Основы Redis CLI
  3. Основные структуры данных Redis
  4. Истечение срока действия ключей и TTL в Redis
← Назад к Redis Caching & Messaging (Pub/Sub, Streams)