首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Redis 2.6.11中使用取消订阅命令

如何在Redis 2.6.11中使用取消订阅命令
EN

Stack Overflow用户
提问于 2013-03-26 17:36:46
回答 1查看 747关注 0票数 2

将消息发布到特定通道。

代码语言:javascript
复制
redis 127.0.0.1:6379> PUBLISH channel message
(integer) 0

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

代码语言:javascript
复制
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客户端编写取消订阅命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-21 16:21:17

我认为你不能在客户端发出取消订阅,因为客户端被阻塞了。我写了一个ruby脚本来展示如何使用退订。

代码语言:javascript
复制
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:

代码语言:javascript
复制
r.unsubscribe if d == 'leave'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15633634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档