Redis命令学习-Pub/Sub(发布/订阅)

  • PSUBSCRIBE

    PSUBSCRIBE pattern [pattern ...] :订阅一个或多个符合给定模式的频道。每个模式以*作为匹配符,比如it.*匹配所有以it开头的频道(it.news,it.global.today)等。

    返回值:接收到的信息。


  1. # 订阅 news.* 和 tweet.* 两个模式

  2. # 第 1 - 6 行是执行 psubscribe 之后的反馈信息

  3. # 第 7 - 10 才是接收到的第一条信息

  4. # 第 11 - 14 是第二条

  5. # 以此类推。。。

  6. redis> psubscribe news.* tweet.*

  7. Reading messages... (press Ctrl-C to quit)

  8. 1) "psubscribe"                  # 返回值的类型:显示订阅成功

  9. 2) "news.*"                      # 订阅的模式

  10. 3) (integer) 1                   # 目前已订阅的模式的数量

  11. 1) "psubscribe"

  12. 2) "tweet.*"

  13. 3) (integer) 2

  14. 1) "pmessage"                    # 返回值的类型:信息

  15. 2) "news.*"                      # 信息匹配的模式

  16. 3) "news.it"                     # 信息本身的目标频道

  17. 4) "Google buy Motorola"         # 信息的内容

  18. 1) "pmessage"

  19. 2) "tweet.*"

  20. 3) "tweet.huangz"

  21. 4) "hello"

  22. 1) "pmessage"

  23. 2) "tweet.*"

  24. 3) "tweet.joe"

  25. 4) "@huangz morning"

  26. 1) "pmessage"

  27. 2) "news.*"

  28. 3) "news.life"

  29. 4) "An apple a day, keep doctors away"

  • PUBLISH

    PUBLISH channel message:将信息message发送到指定的频道channel。

    返回值:接收到信息message的数量。

    建立订阅者:


  1. psubscribe news.* tweet.*


  1. 127.0.0.1:6379> publish bad_channel "any body?"

  2. (integer) 0

  3. 127.0.0.1:6379> publish news.msg "good"

  4. (integer) 1

  • PUBSUB

    PUBSUB [argument...]:PUBSUB是一个查看订阅与发布系统状态的内省命令。它由多个命令组成。

    -PUBSUB NUMSUB [channel-1 ... channel-N]

        列出当前活跃的频道。活跃频道是指那些至少有一个订阅者的频道。

    -PUBSUB NUMPAT

        ​返回给定模式的订阅者数量,订阅模式的客户端不计算在类。

    -PUBSUB CHANNELS [pattern]

    ​返回客户端订阅的所有模式的总和。

  • PUNSUBSCRIBE

    ​    ​PUBSUBSCRIBE [pattern ...]:指示客户端退订所有给定模式。

  • SUBSCRIBE

    ​SUBSCRIBE channel[channel ... ]:订阅给定的一个或者多个频道。

    ​返回值:接收到的频道。


  1. redis> subscribe msg chat_room
  2. Reading messages... (press Ctrl-C to quit)
  3. 1) "subscribe" # 返回值的类型:显示订阅成功
  4. 2) "msg" # 订阅的频道名字
  5. 3) (integer) 1 # 目前已订阅的频道数量
  6. 1) "subscribe"
  7. 2) "chat_room"
  8. 3) (integer) 2
  9. 1) "message" # 返回值的类型:信息
  10. 2) "msg" # 来源(从那个频道发送过来)
  11. 3) "hello moto" # 信息内容
  12. 1) "message"
  13. 2) "chat_room"
  14. 3) "testing...haha"


  • UNSUBSCRIBE

​UNSUBSCRIBE [channel]:指定客户端退出频道。


你可能感兴趣的:(Redis)