使用正则表达式对事件进行Redis键空间通知

时间:2019-05-09 13:59:11

标签: node.js redis

我想在Redis密钥上生成与提供的模式匹配的expire事件。我在节点js中使用Redis。

我已经尝试过使用模式使用redis psubscribe,但是它不能解决我的问题。

var redisClient = redis.createClient('redis://redis')
redisClient.config('set', 'notify-keyspace-events', 'KEA')
redisClient.psubscribe('__keyevent@0__:expired', '.*:timer')

redisClient.on('message', function (channel, key) { 
        console.log(`key ${key} channel ${channel}`)
})

1 个答案:

答案 0 :(得分:0)

不起作用的原因是,当redisClient对象离开其作用域时,该对象将被处置。我在.Net中遇到了同样的问题,但是后来我意识到我的对象被处置了,这就是为什么它无法调用事件的原因。如果您可以共享代码段,我们将解决此问题。

但是现在,如果您尝试此补丁程序将有所帮助。

var redisClient = redis.createClient('redis://redis')

全局声明此对象,它将起作用。