redisによるパブリケーションとサブスクリプションの実装

2180 ワード

redisによるパブリケーションとサブスクリプションの実装

publish.js
//   redis
let redis = require("redis");
//     
let client = redis.createClient(6379, "127.0.0.1");

client.on("ready", function () {
    //    
    client.subscribe("chatB");
});
//     
client.on("error", function (error) {
    console.log("Redis Error " + error);
});

//        
client.on("subscribe", function (channel, data) {
    console.log("client subscribed to " + channel + ",data:" + data);
});
//         ,message redis     
client.on("message", function (channel, message) {
    console.log("       " + message);
});
//        
client.on("unsubscribe", function (channel, count) {
    console.log("client unsubscribed from" + channel + ", " + count + " total subscriptions")
});


function zadd(channel, data) {
    client.publish("chatA", data);//client member   chat    
    //                  
}
for (let i = 0; i < 10; i++) {
    zadd("z", "" + i);//  10 
}

readRedis.js
let redis = require("redis");  
let client = redis.createClient(6379, "127.0.0.1");  

//     redis       
client.on("ready", function () {
    //    
    client.subscribe("chatA");
});
//     
client.on("error", function (error) {
    console.log("Redis Error " + error);
});

//        
client.on("subscribe", function (channel, data) {
    console.log("client subscribed to " + channel + ",data:" + data);
});
//         ,message redis     
client.on("message", function (channel, message) {
    console.log("       " + message);
});
//        
client.on("unsubscribe", function (channel, count) {
    console.log("client unsubscribed from" + channel + ", " + count + " total subscriptions")
});

まずreadRedisを実行する.js,後にpublishを実行する.js,readRedis.jsのコンソール出力:
       0
       1
       2
       3
       4
       5
       6
       7
       8
       9

各ファイルは、メッセージをリスニングおよびパブリッシュできます.