订阅消息
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>]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。