Redis的发布与订阅

2023-03-28  本文已影响0人  糯米团子123
  1. 什么是发布订阅
  1. 使用场景
  1. 图解
    三个客户端分别订阅channel1和channel2 2个频道


    image.png

    发布者(publisher)向channel1频道发送了的消息被channel1的订阅者client1、client2、client3同时接收到,发布者向channel2发送的消息只能被channel2的订阅者client2、client3接收到,client1无法接收


    image.png
  2. 命令行实现

# 订阅1个或者多个频道subscribe channel  [channel ... ]
subscribe channel1
image.png
publish channel hello
# 返回频道订阅者的数量
image.png image.png
unsubscribe  channel  [channel ... ]
pubsub channels [argument  [atgument ...] ]
  1. 为什么要使用发布和订阅
  1. 两种实现模式
psubscribe pattern1  [pattern...]
# 订阅者订阅频道  订阅a?和com.*两种模式的频道  ?表示一个占位符 a?表示匹配 aa、ab、ac等a开头的两个字符的频道
psubscribe a? com.*

# 发布者发布消息
publish ahead "hello" ——————(integer 1) 发布失败,没有订阅者
publish aa "hello"——————(integer 1) 有1个匹配着
publish com.cn "hello"——————(integer 1) 有1个匹配着
punsubscribe [pattern [pattern ...] ]
  1. 实现原理
image.png
上一篇 下一篇

猜你喜欢

热点阅读