Redis订阅(目前项目用到的是删除时,发送订阅)
配置 notify-keyspace-events 的参数为 “Ex”(具体为什么是Ex 网上有很多)
-
直接上代码
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个
- 监听方法on的第一个参数监听的频道必须是
pmessage
-
__keyevent@5__:expired
中的5是redis的DB 表示监听的哪个数据库
以上2个参数 必须配置正确