nodejs redis 订阅/发布消息
api说明
redis.createClient(redisConfig) 创建订阅者/发布者
subscriber.subscribe(‘channel1’) 订阅者订阅频道
publisher.publish(‘channel1’, ‘msg’) 发布者发送消息到知道频道
subscriber.unsubscribe(‘channel1’) 订阅者取消订阅频道
quit() 订阅者/发布者关闭redis连接
example
const redis = require("redis");
const redisConfig = {
'url': `redis://requirepass:[email protected]:6379`
}
const subscriber = redis.createClient(redisConfig);
const publisher = redis.createClient(redisConfig);
subscriber.on("message", function(channel, message) {
console.log(`Sub received message in ${
channel}: ${
message}`);
});
subscriber.subscribe("channel1");
subscriber.subscribe("channel2");
let count = 0
let interval = setInterval(() => {
count ++
publisher.publish('channel1', `${
count}`);
publisher.publish('channel2', `${
count}`);
if (count >= 10) {
clearInterval(interval)
subscriber.unsubscribe("channel1")
subscriber.unsubscribe("channel2")
subscriber.quit()
publisher.quit()
}
}, 1000)