这是我的红宝石代码:
require 'redis' redis = Redis.new Thread.new do redis.subscribe('foo_bar') do |on| on.message do |key, id| puts id end end end redis.publish('foo_bar', 1337)
谁能告诉我,为什么最后一行的“发布”指令阻止了我的进程?
谢谢
似乎redis.subscribe在整个过程中都阻止了Redis访问。因此,当您尝试发布锁时。
redis.subscribe
解决方案:尝试使用轮询代替 subscribe
subscribe
解决方案2:使用多个REDIS连接,即创建REDIS连接池