Клиент Redis подписывается на получение сообщений, помеченных специальным тегом, называемым channel . Другие клиенты публикуют на этом канале. Redis уведомляет каждого подписывающегося клиента каждый раз, когда сообщение публикуется кем-либо на канале.
Вы также можете подписаться на шаблон канала - подумайте о сопоставлении с регулярным выражением.
Это помогает сделать код распространяемым . Он позволяет выполнять фрагменты кода в разных процессах и, возможно, даже на разных машинах, а также связываться друг с другом через эти очереди.
Эта функция происходит от повторных запросов пользователя . Вот пример использования, приведенный здесь :
сайт, связанный с новостями, необходимо обновить
кэшированная копия его домашней страницы каждый
время публикации новой статьи.
Фоновый кеш рабочего процесса
подписывается на все каналы, которые начинаются
с "new.article.":
redis> PSUBSCRIBE new.article.*
Процесс публикации статьи создает
новая статья о технологии (в этом
Например, эта статья имеет идентификатор «1021»),
добавляет идентификатор статьи к набору
все технологические статьи и публикует
идентификатор статьи в
Канал "new.article.technology":
redis> MULTI
OK
redis> SET article.technology.1021 "In today's technology news, ..."
QUEUED
redis> SADD article.technology 1021
QUEUED
redis> PUBLISH new.article.technology 1021
QUEUED
redis> EXEC
1. OK
2. (integer) 1
3. (integer) 1
На данный момент фоновый кеш
рабочий процесс получит сообщение
и сразу узнаю, что новый
была опубликована технологическая статья,
впоследствии выполняя соответствующие
обратный вызов для повторного создания домашней страницы.
http://redis.io/topics/pubsub