Redis 订阅

Redis订阅(目前项目用到的是删除时,发送订阅)

  1. 配置 notify-keyspace-events 的参数为 “Ex”(具体为什么是Ex 网上有很多)

  2. 直接上代码
    var Redis = require("ioredis")

    var redis=new Redis({
     port: 6379,          // Redis port
     host: '127.0.0.1',   // Redis host
     family: 4,           // 4 (IPv4) or 6 (IPv6)
     password: '',
     db: 5
     })
    
      redis.on("pmessage", function (pattern, channel, message) {
     console.log("("+  pattern +")" + " client received message on " + channel + ": " + message);
     switch (channel) {
         // blah blah blah
         // ...
     }
    });
            redis.psubscribe('__keyevent@5__:expired',function (err, count) {
     var ddd=err;
     var ddddd=count;
     });
    

其中有坑的地方有2个

  1. 监听方法on的第一个参数监听的频道必须是pmessage
  2. __keyevent@5__:expired中的5是redis的DB 表示监听的哪个数据库
    以上2个参数 必须配置正确

你可能感兴趣的:(Redis 订阅)