zoukankan      html  css  js  c++  java
  • Redis教程13-Pub/Sub(发布订阅)命令使用参考2

    1.PUNSUBSCRIBE

    PUNSUBSCRIBE [pattern [pattern ...]]

    指示客户端退订所有给定模式。

    如果没有模式被指定,也即是,一个无参数的 PUNSUBSCRIBE 调用被执行,那么客户端使用 PSUBSCRIBE 命令订阅的所有模式都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的模式。

    可用版本:>= 2.0.0

    时间复杂度:O(N+M) ,其中 N 是客户端已订阅的模式的数量, M 则是系统中所有客户端订阅的模式的数量。

    返回值:这个命令在不同的客户端中有不同的表现。

    punsubscribe命令不能应用于redis-cli客户端中,因为redis-cli运行订阅后,客户端处于阻塞模式,只能通过Ctrl-C退出订阅模式,而不可以通过punsubscribe命令进行相关操作。
    当我们使用编程语言进行redis开发时,此时我们订阅相应的信道后,并且让订阅服务运行在后台运行,
    当我们需要取消订阅时,就可以通过发送此命令取消当前客户端所订阅的信道或按模式匹配出相应的信道。

    2.SUBSCRIBE

    SUBSCRIBE channel [channel ...]

    订阅给定的一个或多个频道的信息。

    可用版本:>= 2.0.0

    时间复杂度:O(N),其中 N 是订阅的频道的数量。

    返回值:接收到的信息(请参见下面的代码说明)。

    127.0.0.1:6379> subscribe redis1 redis2    // 订阅redis1和redis2两个频道
    Reading messages... (press Ctrl-C to quit)
    1) "subscribe"    // 订阅成功
    2) "redis1"    // 订阅的频道
    3) (integer) 1    // 已订阅的频道数量
    1) "subscribe"
    2) "redis2"
    3) (integer) 2
    1) "message"    // 返回值类型, 信息
    2) "redis1"       // 从哪个频道发送过来的
    3) "hello redis1"    // 信息内容
    1) "message"
    2) "redis2"
    3) "hello redis2"

    3.UNSUBSCRIBE

    UNSUBSCRIBE [channel [channel ...]]

    指示客户端退订给定的频道。

    如果没有频道被指定,也即是,一个无参数的 UNSUBSCRIBE 调用被执行,那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的频道。

    可用版本:>= 2.0.0

    时间复杂度:O(N) , N 是客户端已订阅的频道的数量。

    返回值:这个命令在不同的客户端中有不同的表现。

  • 相关阅读:
    python 获取在线视频时长,不下载视频
    python treeview 多线程下表格插入速度慢解决方法
    c#操作magick,magick.net
    油猴脚本-Tampermonkey-淘宝dsr过滤器(过滤非3红商品)
    python 基础小坑 0==False is True
    pyd 编译,简单命令cythonize
    python 调用Tesseract,dll模式,无需安装,绿色版
    list与set的查询效率,大量数据查询匹配,必须选set
    selenium 页面加载慢,超时的解决方案
    selenium 不打印chromedriver的日志信息
  • 原文地址:https://www.cnblogs.com/no-celery/p/13718976.html
Copyright © 2011-2022 走看看