Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So verwenden Sie den Befehl UNSUBSCRIBE in Redis 2.6.11

Ich glaube nicht, dass Sie das Abonnement im Client kündigen können, weil der Client blockiert wurde. Ich habe ein Ruby-Skript geschrieben, um zu zeigen, wie man das Abonnement kündigen kann.

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?"

Wenn Sie r.unsubscribe entfernen, wird das Skript blockiert. Und Sie können eine if-Klausel hinzufügen, um zu prüfen, wann client.ex gekündigt werden soll:

r.unsubscribe if d == 'leave'