随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

Redis扩展功能之发布与订阅

  发布与订阅这个模式在Zookeeper中有详细的阐述以及Zookeeper是如何实现该功能的(参考Zookeeper应用之一:数据发布与订阅初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)Zookeeper - 随笔分类 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com))。Redis同样实现了该功能,下面探讨Redis就这个功能是如何实现的。

  Redis提供了发布订阅功能用于消息的传输,其发布订阅机制包括三个部分,publishersubscriberChannel:

       

  发布者和订阅者都是Redis客户端,Channel则为Redis服务器端;发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。

  下面通过命令行模式模拟上诉过程,注意使用的命令:

  1、Redis客户端1订阅频道1和频道2

      

  2、Redis客户端2将消息发布在频道1和频道2
      

   3、Redis客户端1接收到频道1和频道2的消息
      

   退订使用unsubscribe命令。以上以完全匹配模式,如何使用模糊匹配模式(类似正则表达式)可以使用psubscribe/punsubscribe。

   总结:订阅某个频道或模式:

    客户端(client):  

      属性为pubsub_channels,该属性表明了该客户端订阅的所有频道

      属性为pubsub_patterns,该属性表示该客户端订阅的所有模式

    服务器端(RedisServer):

      属性为pubsub_channels,该服务器端中的所有频道以及订阅了这个频道的客户端

      属性为pubsub_patterns,该服务器端中的所有模式和订阅了这些模式的客户端

 


      

 

 

posted on   池塘里洗澡的鸭子  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示