欢迎投稿

今日深度:

Redis 发布订阅,redis发布订阅

Redis 发布订阅,redis发布订阅


图片来源:w3c

下面是模拟redis的订阅和发布

1.pub.rb

require 'redis'

redis = Redis.new

5.times do 
    redis.publish('redis_sub',"hola!!!!!!!")#想redis_sub频道发布消息
end

2.sub.rb

require 'redis'
require 'json'

redis = Redis.new

redis.subscribe('redis_sub') do |on| #订阅一个redis_sub频道的信息
    on.message do |channel,msg|
        puts msg  #获取发布的信息
        puts channel  #输入频道
        puts "=============="
    end
end

运行代码: ruby sub.rb /ruby pub.rb

下面的代码来源:

1.pub.rb 可以不断输入message进行发布

require 'redis'
require 'json'

redis = Redis.new

 data = {"user"=>ARGV[1]}
 loop do 
     msg = STDIN.gets
     redis.publish ARGV[0],data.merge('msg'=>msg.strip).to_json
 end

2.sub.rb

require 'redis'
require 'json'

redis = Redis.new

redis.subscribe('rubyonrails','ruby-lang') do |on|  #rubyonrails,ruby-lang 两个频道
    on.message do |channel,msg|
         data = JSON.parse(msg)
         puts "#{channel} - [#{data['user']}]: #{data['msg']}"
     end
 end

运行代码:ruby pub.rb rubyonrails qrush / ruby sub.rb
发送端:

接受端:

www.htsjk.Com true http://www.htsjk.com/redis/28134.html NewsArticle Redis 发布订阅,redis发布订阅 图片来源:w3c 下面是模拟redis的订阅和发布 1.pub.rb require 'redis' redis = Redis. new 5. times do redis.publish( 'redis_sub' , "hola!!!!!!!" ) #想redis_sub频道发布消息 end 2.sub....
相关文章
    暂无相关文章
评论暂时关闭