【赵渝强老师】Redis的消息机制_redis


点击这里查看视频“【赵强老师】Redis的消息机制”


一、Redis消息的发布订阅架构

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。


【赵渝强老师】Redis的消息机制_redis_02

发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。

二、Redis发布订阅功能

  • 发送消息:Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。
  • 订阅某个频道:Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的频道数量,以及接收到的消息,其中subscribe表示已经成功订阅了某个频道。
  • 模式匹配:模式匹配功能允许客户端订阅符合某个模式的频道,Redis采用PSUBSCRIBE订阅符合某个模式所有频道。

三、消息发布订阅在Redis中的应用

Redis的发布订阅功能与Redis中的数据存储时无关的,它不会影响Redis的keyspace,即不会影响Redis中存储的数据,但通过发布订阅机制,Redis还提供了另一个功能,即KeyspaceNotification,允许客户端通过订阅特定的频道,从而得知是否有改变Redis中的数据的事件。例如,有一个客户端删除了Redis中键为mykey的数据,该操作会触发两条消息,mykey del和del mykey,前者属于频道keysapce,表示keyspace发生的变化,后者属于频道keyevent,表示执行的操作。

【赵渝强老师】Redis的消息机制_redis