Redis通过PUBLISHSUBSCRIBE等命令实现发布与订阅模式。


举例:QQ群的公告,单个发布者,多个收听着。
***

发布/订阅

PUBLISH 频道 消息
将消息发布到指定的频道。
.
SUBSCRIBE 频道1 [频道2] [...]
可同时订阅多个频道。
.
UNSUBSCRIBE 频道1 [频道2]
取消订阅指定的频道,如果不指定频道则会取消订阅所有频道。
.
PSUBSCRIBE [匹配模式1] [匹配模式2]
订阅一个或多个符合给定模式的频道,每个模式以"*"作为匹配符,例如"re*"见匹配所有以"re"开头的频道。
news.*匹配所有以news.开头的频道(news.it 、 news.global.today 等等),诸如此类。
.
PUNSUBSCRIBE [匹配模式1] [匹配模式2]
退订指定的规则的频道,如果未指定参数,则退订所有规则的频道。
.
PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
.
注意:
使用发布订阅模式实现的消息队列,当有客户端订阅频道后,只能接收到后续发布到该频道的消息。
之前发送的不会缓存,必须Provider和Consumer同时在线。

下面将以SUBSCRIBEPUBLISH举例:
.
启动两个窗口,进入redis-cli客户端,并订阅频道,如下图:


在启动一个新窗口进入redis-cli客户端,开始请频道channel发布消息:

此时,切回订阅者窗口,即可看到其发布的"PONG"消息。
需要注意的是,如果发送中文,则显示的二进制。

***

最新文章

  1. 理解HTML语义化
  2. 3.4.4 数据预留和对齐(skb_reserve, skb_push, skb_put, skb_pull)
  3. Eclipse自动生成作者、日期注释等功能设置
  4. A.Kaw矩阵代数初步学习笔记 1. Introduction
  5. Microsoft Dynamics CRM 2013 安装程序及SDK 下载地址
  6. var wi = 0; wi < arr.length; wi++
  7. 一些推荐的spark/hadoop课程
  8. 【JavaScript】Object.observe()带来的数据绑定变革
  9. BZOJ 1982 Moving Pebbles
  10. OpenCV源码阅读(3)---base.hpp
  11. jQuery实现商品楼层的感觉
  12. POST多个参数到Web API控制器
  13. duilib绘制边框
  14. PHP面向对象概述
  15. MyBatis《2》
  16. Mybatis使用总结-思维导图
  17. 怎么避免在类实现的cpp文件中不要多次进行类声明
  18. 零代码第一步,做个添加数据的服务先。node.js + mysql
  19. 在VUE应用中配置ESLint(代码检查)
  20. react-demo

热门文章

  1. chrome默认打开隐身模式
  2. scratchIDE使用说明
  3. STM32中assert_param的使用
  4. Windows下从源代码编译Skia
  5. Codeforces Round #271 (Div. 2) 解题报告
  6. kafka集群安装配置
  7. 使用google API之前需要對input 做什麼 安全性的處理?
  8. Spring mvc 启动 和 请求分发
  9. ubuntu配置上网
  10. [JLOI2015]装备购买(线性基)