将消息发布到特定频道。
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'