Redis消息发布订阅

Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。比如像微信公众号,微博等关注系统

订阅/发布消息图:

关于指令的使用,官方文档很详细了:官方文档

原理:

​ 通过SUBSCRIBE命令订阅某频道后,redis-server里维护了一个字典,字典的键就是一个个频道!而字典的值则是一个链表,链表中保存了所有订阅了这个channel的客户端,SUBSCRIBE命令的关键,就是将客户端添加到戈丁channel的订阅链表中。

​ 通过PUBLISH命令向订阅者发送消息,redis-server会使用给定的频道作为键,在它维护的channel字典中查找记录了订阅这个频道的所有客户端的链表,遍历这个链表,将所有的消息发布给所有订阅者。

这里我们以微信公众号为例,如果张三李四同时订阅了一个公众号,共青团中央。那么在存储结构就是如下图

Redis订阅发布的使用场景:

  • 实时消息系统
  • 实时聊天(类似于群聊,一个人发送消息,将消息回显给所有人即可)
  • 订阅,关注系统都是可以的

参考视频

遇见狂神说

你可能感兴趣的:(Redis消息发布订阅)