当前位置: 首页 > 面试题库 >

如何在Redis 2.6.11中使用UNSUBSCRIBE命令

杨安歌
2023-03-14
问题内容

将消息发布到特定频道。

redis 127.0.0.1:6379> PUBLISH channel message
(integer) 0

我使用另一个Redis客户端订阅了该频道。

redis 127.0.0.1:6379> SUBSCRIBE channel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel"
3) (integer) 1

在Redis客户端中,我收到了所有已发布消息。现在,我要取消订阅频道。但是我无法在Redis客户端中输入退订。当我使用Ctrl +
c时,完整的Redis客户端退出。如何在Redis Client中编写退订命令?


问题答案:

我不认为您可以在客户端中取消订阅,因为客户端被阻止了。我写了一个ruby脚本来展示如何使用退订。

require 'redis'
r = Redis.new
r.subscribe 'first' do |on|
  on.message do |e, d|
    puts e
    puts d
    r.unsubscribe
  end
end
puts "script was blocked?"

如果删除r.unsubscribe,该脚本将被阻止。并且您可以添加if子句以检查何时取消订阅client.ex:

r.unsubscribe if d == 'leave'


 类似资料:
  • 正如独立jar的文档所述,我试图为我的特性提供参数,但不知道如何使其工作。我错过了什么? 我的命令行: 空手道配置。js TestArgs。功能:测试参数 我没有得到任何打印:java-jarc:\karate\karate-0.9。1.jar-a myKey1=myValue1 TestArgs。特色 10:32:57.904[主]信息网。凭直觉。空手道。内蒂。主要-空手道版本:0.9。1. 1

  • 本文向大家介绍如何在Linux中使用diff命令,包括了如何在Linux中使用diff命令的使用技巧和注意事项,需要的朋友参考一下 diff命令逐行分析并显示两个文件之间的更改列表。作为一种特殊情况,diff将标准输入的副本与其自身进行比较。本文介绍“如何在Linux中使用diff命令。 “ diff”命令的期货– 识别一个文件版本之间的更改 比较两个配置或程序文件 创建一个可以与Linux /

  • 我第一次在git上工作。我已经将我的分支推到github上,它将所有库和文档推到github上。现在我可以做什么,如何使用gitignore命令来避免再次出现同样的错误。

  • 我想用python将网站上的文本保存为变量。 我不知道该怎么做才对。谢谢

  • UNSUBSCRIBE [channel [channel ...]] 指示客户端退订给定的频道。 如果没有频道被指定,也即是,一个无参数的 UNSUBSCRIBE 调用被执行,那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的频道。 可用版本: >= 2.0.0 时间复杂度: O(N) , N 是客户端已订阅的频道的数量。

  • 我跟踪了元素的XPath,并希望使用selenium中的verifyText()命令提取文本。 完整XPATH:html/body/table[2]/tbody/tr/td[3]/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr[2]/td html的一部分如下所示,如何获取文本,即“当您在selenium中使用verifyText(