zoukankan      html  css  js  c++  java
  • Redis发布订阅

    适用场景

    • 直播消息
    • 弹幕消息
    • 粉丝订阅消息推送

    知识点

    1、关键字:PUBLISH SUBSCRIBE PSUBSCRIBE

    • Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。
    • Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的频道数量,以及接收到的消息,其中subscribe表示已经成功订阅了某个频道。

    2、示例:

    redis 127.0.0.1:6379> PUBLISH  c1 "test"
    (integer) 0
    
    redis 127.0.0.1:6379> PUBLISH  c2 "test"
    (integer) 0
    
    redis 127.0.0.1:6379> SUBSCRIBE c1
    Reading messages... (press Ctrl-C to quit)
    1) "subscribe"
    2) "c1"
    3) (integer) 1
    
    1) "message"
    2) "c1"
    3) "test"
    

    Redis的订阅操作是阻塞式的,因此一旦客户端订阅了某个频道或模式,就将会一直处于订阅状态直到退出。

    3、支持模式匹配
    客户端可以使用命令PSUBSCRIBE一次性订阅符合模式匹配的多个频道,例如:

    redis 127.0.0.1:6379> PSUBSCRIBE c*
    Reading messages... (press Ctrl-C to quit)
    1) "psubscribe"
    2) "c*"
    3) (integer) 1
    
    1) "pmessage"
    2) "c*"
    3) "c2"
    4) "test2"
    

    c* 表示任意c开头的频道。

    4、注意:

    • 订阅方可以提前预定,即使频道不存在。
    • 订阅方只能收到订阅之后的消息,订阅之前的消息收不到。

    参考

    1、Redis发布订阅机制 - yitudake - 博客园
    https://www.cnblogs.com/yitudake/p/6747995.html

  • 相关阅读:
    ecstore中kvstore之mongodb
    ecstore中kvstore之memcached
    ecostore搜索注意事项
    ecos的dbschema
    ecos的model
    ecos的mvcl
    ecos的app处理类
    ecos的app生命周期
    Linux系统的时间设置
    数的机器码表示——彻底弄清什么是原码、反码、补码、移码
  • 原文地址:https://www.cnblogs.com/52fhy/p/8973563.html
Copyright © 2011-2022 走看看