Зачем мне это использовать? Приведите несколько основных примеров.
В терминах Laymen, что такое Redis Pub/Sub?
Ответ 1
Клиент redis подписывается на получение сообщений, отмеченных определенным тегом, называемым каналом. Другие клиенты публикуют на этом канале. Redis уведомляет каждого подписавшегося клиента каждый раз, когда сообщение публикуется кем-либо на канал.
Вы также можете подписаться на шаблон канала - подумайте о регулярном выражении.
Это помогает сделать код распределяемым. Это позволяет битам кода запускаться в разных процессах и, возможно, даже с разными машинами, а также взаимодействовать друг с другом через эти очереди.
Эта функция исходит из повторяющихся пользовательских запросов. Для примера приведен пример использования здесь:
сайт, связанный с новостями, нуждается в обновлении кешированная копия домашней страницы время публикации новой статьи.
Рабочий процесс фонового кэша подписывается на все каналы, которые начинаются с 'new.article.:
redis> PSUBSCRIBE new.article.*
Процесс публикации статьи создает новая технологическая статья (в этом Например, эта статья имеет ID '1021), добавляет идентификатор статей к набору все технические статьи и публикует идентификатор статьи 'Канал new.article.technology:
redis> MULTI OK redis> SET article.technology.1021 "In today 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
На этом этапе фоновый кеш рабочий процесс получит сообщение и сразу узнайте, что новый была опубликована технологическая статья, впоследствии выполняя соответствующие обратный вызов для повторной генерации домашней страницы.