关于redis:redis发布与订阅的实现

6次阅读

共计 388 个字符,预计需要花费 1 分钟才能阅读完成。

订阅音讯

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>]
正文完
 0