使用Node.js来监听Redis上的重要事件

我需要知道在Redis商店的特定密钥上写入数据的时间。
有没有办法使用Node.js来监听Redis关键事件,还是必须使用pub / sub实用程序?
在第二种情况下,最好的办法是什么?

有没有办法使用Node.js来监听Redis关键事件,还是必须使用pub / sub实用程序?

据我所知,Redis本身并不支持关键更改通知,尽pipe还有其他的select,包括基于pub / sub的解决scheme。

如果您不想使用pubsub,那么使用Redis的阻止操作(BLPOP,BRPOP,BRPOPLPUSH)有很多创造性解决scheme的机会。 您可以在您的服务器中专用一个Redis连接,直到将新项目添加到列表中,并且在您存储密钥(在多个exec中!)后,实际添加到所述列表中。 所以,通用的东西可能是这样的(你可以使用两个不同的terminal来模拟两个不同的连接):

连接1(连接将在此之后挂出):

BRPOP myfunkeys 0 

连接2:

 redis 127.0.0.1:6379> multi OK redis 127.0.0.1:6379> set somekey "foo" QUEUED redis 127.0.0.1:6379> rpush myfunkeys "somekey:foo" QUEUED redis 127.0.0.1:6379> exec 1) OK 2) (integer) 1 redis 127.0.0.1:6379> 

EXEC后回到连接1:

 1) "myfunkeys" 2) "somekey:foo" (67.51s)