如何使用nodejs在redis中自动检查新值?

时间:2018-05-08 12:42:18

标签: node.js redis

所以我有两个脚本:一个将数据传递给redis,另一个将从redis获取数据。

将从redis获取数据的脚本是用node.js编写的,将数据发送到redis的脚本是用ruby编写的。

我正在寻找rnode.js脚本,以便在ruby脚本发送后立即从redis获取数据。

我正在考虑从node.js连续监视以检查redis是否有更新,并且只要有更新,node.js就会抓取数据。如果你有更好的方法,我也会考虑它

我想知道如何编写node.js脚本以持续监控redis并获取任何新数据。

由于

1 个答案:

答案 0 :(得分:2)

这样做的一种方法是使用Redis的列表作为队列。

假设Ruby脚本将新“数据”存储在名为data:1的密钥下,请将密钥的名称RPUSH添加到名为new_data的列表中。该列表基本上是所有新数据的队列。

现在,让你的'rnode.js'脚本在new_data列表上执行阻止左侧弹出(BLPOP)。每当新数据到达时,脚本将解除阻止,您将能够处理新闻。完成后,返回阻止弹出窗口。