redisによるパブリケーションとサブスクリプションの実装
2180 ワード
redisによるパブリケーションとサブスクリプションの実装
例
publish.js
readRedis.js
まずreadRedisを実行する.js,後にpublishを実行する.js,readRedis.jsのコンソール出力:
各ファイルは、メッセージをリスニングおよびパブリッシュできます.
例
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
各ファイルは、メッセージをリスニングおよびパブリッシュできます.