Devops
和微前端已經寫得差很少,開始複習下後端相關知識,以前想寫的這篇文章,終於落地redis
,而且啓動redis`redis-server`
yarn add redis --save
const redis = require('redis'); const client = redis.createClient(6379, '127.0.0.1');
❝這裏普及下消息隊列的使用,跟redis同樣,都是屬於進程外的服務,就是單獨要佔用一個端口起服務的前端
❞git
`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 () { client.publish('testFirst', 'hi! first!'); client.publish('testSecond', 'hi! second!'); client.publish('message', 'hi! message!'); });`
`const client = require('redis').createClient(6379, '127.0.0.1'); 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) { console.log('message channel:' + channel + ', msg:' + message); }); client.on('unsubscribe', function (channel, count) { console.log('unsubscribe channel:' + channel + ', count:' + count); });`
`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); });`
❝這樣,咱們使用redis發佈訂閱模式,實現了簡單的消息隊列github
❞redis
`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)`
模擬的跟實際有什麼不同?後端
https://github.com/JinJieTan/MQ