Redis

8 уроков
Консультации
#4 – Работа с TTL, Expire и Pub/Sub

#4 – Работа с TTL, Expire и Pub/Sub

При помощи специальных команд в Redis можно указать время жизни ключа. По истечению времени ключ удаляется автоматически. За урок вы научитесь указывать время, работать с подписками, а также выполнять мультитранзакции.

Видеоурок

Redis — это высокопроизводительное хранилище данных типа "ключ-значение", которое поддерживает множество удобных команд для управления данными. Одна из таких возможностей — управление временем жизни ключей.


Например, можно создать ключ user:123 со значением John Doe с помощью команды SET. Если нужно, чтобы этот ключ существовал только ограниченное время, к нему можно привязать таймер с помощью команды EXPIRE, задав срок жизни в секундах. Проверить, сколько времени осталось до удаления ключа, позволяет команда TTL. Если ключ бессрочный, Redis вернет -1, а если ключ уже удален — вернет -2. При необходимости можно снять ограничение по времени с помощью команды PERSIST, после чего ключ станет бессрочным.


Система публикации и подписки (Pub/Sub)

Redis также поддерживает встроенную систему Pub/Sub, которая позволяет приложениям обмениваться сообщениями в реальном времени. Одно приложение может подписаться на канал с помощью команды SUBSCRIBE, а другое — отправлять в этот канал сообщения с помощью PUBLISH.


Например, приложение может подписаться на канал news и сразу же начать получать все сообщения, которые туда отправляются. В другом терминале или процессе можно опубликовать сообщение в этот канал. Все подписчики сразу же его получат. При необходимости можно отписаться от канала с помощью UNSUBSCRIBE.


Транзакции в Redis

Для выполнения нескольких команд в рамках одной атомарной операции Redis поддерживает механизм транзакций. Он реализован через команды MULTI и EXEC. Команды, добавленные после MULTI, не выполняются сразу, а помещаются в очередь. Когда вызывается EXEC, все команды из очереди выполняются последовательно в одном пакете, без возможности прерывания.


Например, можно использовать транзакцию для управления балансом пользователя. Внутри MULTI можно установить начальный баланс, затем увеличить его и сразу уменьшить на определенную сумму. Все изменения применятся сразу после EXEC, что гарантирует согласованность данных.

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение языка Си для начинающих
9 уроков
Разработка сайта на Java Spring Boot
7 уроков
Изучение Flask / Создание сайта на Python
6 уроков
Практика React JS / Разработка магазина (eCommerce)
9 уроков
Уроки Node JS и Express для начинающих
13 уроков
Изучение GraphQL – язык запросов API
9 уроков
Комментарии
Добавить комментарий

Пока комментариев нет