Redis 讲解系列之 Redis的消息订阅

来源:互联网 发布:手机淘宝消息发不出去 编辑:程序博客网 时间:2024/06/01 22:59

Redis 讲解系列之 Redis的消息订阅

概念

  • 什么事Redis的消息订阅
    -进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。特别的说一句,一般的企业中消息中间件(e.g Active queue肯定是不会用Redis的消息订阅来做的,至于Redis为什么会推出这样一个功能点,可能有潜在的意义比如会优化完善这部分的功能以使之晋升为消息中间件的一个选择,也有可能只是意思意思做这么一个功能已配合Redis的其他功能。不过通过对Redis迭代的版本上看,个人认为Redisa的消息定于只是为了配合其他Redis的功能。)

    -Subscript / publish Model(订阅发布模型图)

    • Subscript
      这里写图片描述

    • Publish
      这里写图片描述


- Redis 消息的订阅和发布

我们将真实的模拟Redis的消息订阅和发布。

  • 消息订阅发布的常用命令解读

    • PSUBSCRIBE pattern [pattern …] 订阅一个或多个符合给定模式的频道。
    • PUBSUB subcommand [argument [argument …]] 查看订阅与发布系统状态。
    • PUBLISH channel message 将信息发送到指定的频道。
    • PUNSUBSCRIBE [pattern [pattern …]] 退订所有给定模式的频道。
    • SUBSCRIBE channel [channel …] 订阅给定的一个或多个频道的信息。
    • UNSUBSCRIBE [channel [channel …]] 退订给定的频道。
  • Subscript / Publish

    • A客户端订阅3个Channel(c1,c2,c3)
      这里写图片描述

    • B客户端在c1上发布一侧消息:Hi-Redis
      这里写图片描述

    • A客户端收到B客户端发布的消息
      这里写图片描述


小结

  • 任何时候若使用Redis的消息订阅请记住一个原则,先订阅在发布,其次就是要清楚地定位Redis的消息订阅/发布在自己应用中的定位。

  • 消息订阅/发布的一般流程

    • 1 可以一次性订阅多个,SUBSCRIBE c1 c2 c3
    • 2 消息发布,PUBLISH c2 hello-redis
    • 3 订阅多个,通配符, PSUBSCRIBE new
    • 4 收取消息, PUBLISH new1 redis2015

原创粉丝点击