Redis 的发布与订阅

来源:互联网 发布:php 数组按字段排序 编辑:程序博客网 时间:2024/05/30 05:06

Redis 的发布与订阅 是进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。

提示:

虽然 Redis 支持消息发布与订阅,但是企业中是不会用 Redis 去干这个事情的。因为Redis 的消息发布与订阅是不可靠的,特别是当大数据量的 Redis 消息发布与订阅发生时。一般用 ActivityMQ 等

Redis 消息发布与订阅的基本运行原理是:客户端订阅【消息频道】,【消息频道】发送消息,订阅者客户端接受消息。

涉及到的命令

PSUBSCRIBE pattern [pattern...]

订阅一个或多个符合给定模式的频道。

PUBSUB subcommand [argument [argument...]]

查看订阅与发布系统状态。

PUBLISH channel message

将消息发送到指定的频道。

PUNSUBSCRIBE [pattern [pattern...]]

退订所有给定模式的频道。

SUBSCRIBE channel [channel...]

订阅给定的一个或多个频道信息。

UNSUBSCRIBE [channel [channel..]]

指退订给定的频道。

演示指定订阅与发布

先订阅后发布才能收到消息。

  • 可以一次性订阅多个,SUBSCRIBE c1 c2 c3
  • 消息发布,PUBLISH c2 hello-redis

这里写图片描述

订阅端需要独占一个线程,发布端不需要占用线程。

通过通配符一次性订阅多个

  • 订阅多个,通配符*PSUBSCRIBE new*
  • 发布消息,PUBLISH new1 redis2017

这里写图片描述