使用Node.js与Redis,实现消息队列!

电脑环境:win10

node:v8.11.1

yarn:v1.22.1

redis: v5.0.9


白俊遥博客

白俊遥博客

生产者每隔一秒发送一次消息(producer):

const redis = require('redis');const client = redis.createClient(6379, '127.0.0.1');

client.on('error', function (err) {  console.log('err' + err);
});

client.on('ready', function () {
  setInterval(() => {
    client.publish('testSecond', 'hi! second!');
    client.publish('message', 'hi! message!');
  },1000);
});

实现流量削峰,限流

  • 目前我们生产是1S一条消息,控制成2S消费一次(consumer)

const client = require('redis').createClient(6379, '127.0.0.1');const ArrayList = [];
client.on('error', function (err) {  console.log('err' + err);
});
client.subscribe('testSecond');
client.subscribe('message');
client.on('subscribe', function (channel, count) {  console.log('subscribe channel:' + channel + ', count:' + count);
});
client.on('message', function (channel, message) {
  ArrayList.push({ channel, message });
});
client.on('unsubscribe', function (channel, count) {  console.log('channel:' + channel + ', count:' + count);
});

setInterval(()=>{    console.log(ArrayList,'ArrayList')
},2000)


打赏,支持一下

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by WEIXIA.XIN,学的不仅是技术,更是梦想!!!

Davidvivi博客
请先登录后发表评论
  • 最新评论
  • 总共 0条评论