Redis 发布订阅功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 发布订阅功能相关的知识,希望对你有一定的参考价值。

参考技术A Redis 发布订阅 (pub/sub) 是一种消息通信模式:订阅者 (sub) 订阅频道,发送者 (pub) 向频道发送消息,订阅者通过该频道接收消息。

不过发布订阅模式有2点需要注意:

客户端1输入 SUBSCRIBE runoobChat 订阅频道 runoobChat

客户端2 在 频道 runoobChat 发布消息,订阅者就能接收到消息。

客户端1将会接收:

Redis 将所有频道的订阅关系保存在服务器状态的字典里面,这个字典的健是某个被订阅的频道,而健的值则是一个链表,链表里面记录了所有订阅这个频道的客户端。

每当客户端执行``命令订阅某些频道的时候,服务器斗湖将客户端与被订阅频道在 字典中进行关联。
按照频道是否有订阅者,关联操作可以分为2种情况执行:

调用栈

服务器将所有频道的订阅关系保存再服务器状态的,与此类似,服务器也将所有模式的订阅关系都保存在服务器状态的属性里面

pubsub_patterns 属性是一个链表,链表中的每一个节点都包含着一个 pubsubPattern 结构,这个结构的属性记录了被订阅的模式,而 client 性则记录了订阅模式的客户端。

客户端执行命令订阅某些模式的时候,服务器会对每个被订阅的模式执行下列2个操作:

以上是关于Redis 发布订阅功能的主要内容,如果未能解决你的问题,请参考以下文章

Redis发布订阅功能介绍,生产场景使用及性能测试

Redis实现不可靠发布/订阅功能

redis发布订阅功能介绍

Redis学习九:Redis的发布订阅

Redis发布订阅和Stream

Redis订阅发布功能