node.js上でredisを使ってpublish、subscribeを行う方法を記載。
もろもろはいっている前提、
redis = {};
redis.pub = function(){
var sys = require('sys');
var redis = require('redis');
var subscriber = redis.createClient(6379, 'localhost');
subscriber.subscribe('hoge channel');
subscriber.on("message", function(channel, message) {
sys.puts(channel + " :" + message);
});
publisher = redis.createClient(6379, 'localhost');
publisher.publish("hoge channel", "test message");
};
redis.sub = function(){
var sys = require('sys');
var redis = require('redis');
var subscriber = redis.createClient(6379, 'localhost');
subscriber.subscribe('hoge channel');
subscriber.on("message", function(channel, message) {
sys.puts(channel + " :" + message);
});
};
node.jsがpubの場合は、ターミナルで事前に以下のコマンドを叩いておくと、publishされた情報が表示されます。
redis-cli subscribe "hoge channel"
逆に、node.js側がsubscribeの場合は
ターミナルでpublishするとnode.js
側でメッセージが表示されます。
redis-cli publish "hoge channel" "Hello World"
以上