node js轮询数据更改

时间:2015-03-27 17:09:58

标签: node.js redis polling

将节点js与redis一起用作缓存和pub-sub代码。缓存存储有用消息的列表。在一个点之后,消息将从redis中删除。如果邮件数量低于10,我们必须发布'响应所有订阅者消费并执行某些操作。

以下是我的草稿发布商代码:

var redis = require('redis')    
var pub = redis.createClient(6379, 'localhost');

pub.keys('message:*', function (err, keys){
  if (err) return console.log(err);

  if (keys.length < 10){

    pub.publish("mchannel", "Messages threshold reached", function(err){
        if (err) throw err;            
    });
  }

});

订阅者代码:

var redis = require('redis')
var sub = redis.createClient();

sub.on("message", function(channel, message){
  console.log("Message '" + message + "' on channel '" + channel + "'  received!")
  // Some action...
});
sub.subscribe("mchannel");

当我使用node命令执行发布者和订阅者代码时,消息只会按预期发布一次。

如何从发布商代码中不断轮询缓存更改并发布该消息?

0 个答案:

没有答案