Redis发布订阅模式

Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。下面是SUBSCRIBE命令和PUBLISH命令的用法:

  • SUBSCRIBE channel [channel ...]用于订阅给指定频道的信息。
  • PUBLISH channel message将信息 message 发送到指定的频道 channel。
发布订阅.JPG

Redis发布订阅功能最明显的用法就是用作实时消息系统,比如普通的即时聊天,群聊等功能。群聊时所有成员都订阅(SUBSCRIBE )一个主题,然后成员发送群消息时实际上是向该主题发布(PUBLISH )一条消息,从而实现通知。

1. Redis发布订阅机制的实现

订阅.JPG
发布.JPG

2. Redis发布订阅与ActiveMQ的比较

  1. ActiveMQ支持多种消息协议,包括AMQP,MQTT,Stomp等,并且支持JMS规范,但Redis没有提供对这些协议的支持。
  2. ActiveMQ提供持久化功能,但Redis无法对消息持久化存储,一旦消息被发送,如果没有订阅者接收,那么消息就会丢失。
  3. ActiveMQ提供了消息传输保障,当客户端连接超时或事务回滚等情况发生时,消息会被重新发送给客户端,Redis没有提供消息传输保障。

参考文章

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Redis的 Pub/Sub 模式 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)...
    moutory阅读 1,000评论 0 1
  • 1、说明 Redis自身提供了发布/订阅(publish/subscribe)模式。实现方式大致流程如下图: 发布...
    Geroge1226阅读 1,202评论 0 3
  • Redis支持发布订阅模式,先了解一下与发布订阅相关的命令。 发布订阅模式命令 SUBSCRIBE命令用于订阅ch...
    yingzong阅读 3,245评论 1 15
  • 一、发布订阅简介 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(su...
    无剑_君阅读 879评论 0 1
  • 一、Redis的发布和订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订...
    AaronSimon阅读 472评论 0 1