码迷,mamicode.com
首页 > 其他好文 > 详细

Redis:八、发布订阅实现原理

时间:2017-03-25 16:22:45      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:.com   image   消息   http   publish   没有   常用命令   模式   多个   

Redis:相关内容

Redis发布订阅常用命令
1.psubscribe pattern [pattern...]
//订阅一个或多个符合给定模式的频道
2.pubsub subcommand [argument[argument...]]
//查看订阅与发布系统状态
3.publish channel message
将消息发送到指定的频道
4.punsubscribe [pattern [pattern...]]
退订所有给行模式的频道
5.subscribe channel [channel...]
订阅给定的一个或多个频道的信息
6.unsubscribe [channel [channel...]]
退订给定的频道

实现原理

1.订阅频道:pubsub_channels

 技术分享

订阅频道操作(subscribe channel):
1)如果已经存在订阅者,则添加到链表的尾部
2)如果没有订阅者,那么创建频道,然后添加订阅者
退订频道操作(unsubscribe channel):
1)找到对应的链表,进行删除
2)如果删除后,链表为空,则删除频道

2.模式订阅:pubsub_patterns

 技术分享

订阅模式频道操作(psubscribe pattern):
1)新建一个pubsubPattern结构
2)添加到链表的尾部
退订模式频道操作(punsubscribe pattern):
1)查找相应的pubsubPattern,然后删除
发送消息:
1)将消息发送给channel频道的所有订阅者
2)遍历整个pubsub_patterns表,查找匹配的模式,如果有一个或者多个模式与频道匹配,将消息发送给pattern模式的订阅者

Redis:八、发布订阅实现原理

标签:.com   image   消息   http   publish   没有   常用命令   模式   多个   

原文地址:http://www.cnblogs.com/ScorchingSun/p/6617426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!