redis发布与订阅的实现
Posted Leonly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis发布与订阅的实现相关的知识,希望对你有一定的参考价值。
订阅消息
redis两种订阅方式
- 订阅频道(subscribe, unsubscribe) ,精准订阅某个key
- 订阅模式(psubscribe, punsubscribe),基于正则订阅某key
服务器记录订阅客户端的数据结构
struct redisServer {
// 字典+链表,记录订阅频道客户端 {string: list<redisClient>]}
dict *pubpub_channels;
// 链表记录订阅模式客户端 list<{client: *redisClient, pattern: *robj}>
list *pubpub_patterns;
}
发送消息
publist <channel> <message>
接收消息
订阅频道接收消息格式
[message, <channel>, <content>]
订阅模式接收消息格式
[pmessage, <pattern>, <channel>, <content>]
以上是关于redis发布与订阅的实现的主要内容,如果未能解决你的问题,请参考以下文章