Node.js 倾听Redis中的变化?
我希望能够在我的redis集合中进行任何更改时运行回调。回调将把键和值作为输入。这样的事情可能吗 谢谢?有两种选择:Node.js 倾听Redis中的变化?,node.js,redis,Node.js,Redis,我希望能够在我的redis集合中进行任何更改时运行回调。回调将把键和值作为输入。这样的事情可能吗 谢谢?有两种选择: 使用命令-它跟踪到达Redis的每个命令,您可以分析并查看何时触摸到您的收藏 如果您“拥有”写入集合的代码,请向其他代码(回调)发送信号。你可以使用这个频道 EDITRedis实际上将在2.8版中实现此功能。请参见安特里兹的博客文章:。更新:无论谁在读这篇文章,这些都是古老的答案,忽略它们。您需要的是Redis密钥空间通知,它已经存在了很多年了。请参见您也可以使用sync命令像跟
EDITRedis实际上将在2.8版中实现此功能。请参见安特里兹的博客文章:。更新:无论谁在读这篇文章,这些都是古老的答案,忽略它们。您需要的是Redis密钥空间通知,它已经存在了很多年了。请参见您也可以使用sync命令像跟随者一样连接到Redis服务器。查看如何快速介绍 sync命令的输出有两个阶段。在第一阶段,服务器返回数据库dump.rdb文件。一旦文件被发送,它就开始以Redis协议(也是AOF格式)发送命令 以下是您可以执行的高级操作:
SYNC
命令Monitor
是一个调试命令。响应格式可以(并且已经)随时间变化<代码>同步用于主->从复制,因此将得到更好的支持监视器
将发出所有命令,包括只读命令<代码>同步仅获取修改数据的命令Monitor
将记录lua脚本中执行的各个命令Sync
将只传输整个lua脚本,因此您必须自己解析脚本。这确实是sync
的交易破坏者Monitor
将记录未成功的命令,Sync
将只记录修改数据的命令。例如,监视器将记录命令del non-existing key
,但在运行sync时不会显示该命令
com.moilioncircle
2017年
现在有了一个发布/订阅机制,您可以使用节点redis
模块。见具体文件。(也可使用redis mock进行测试)
同一频道可以有多个订阅者(侦听器),在您的情况下,这些订阅者是收藏的关键
快速示例:(有关实施细节,请参见上述文档)
谢谢斯利帕蒂!你能给我一个关于使用monitor进行更新与使用monitor进行更新的高级概述吗?相关的功能请求:和monitor
降低了成本,所以你最好不要经常在生产中运行它
<dependency>
<groupId>com.moilioncircle</groupId>
<artifactId>redis-replicator</artifactId>
<version>2.5.0</version>
</dependency>
sub.subscribe('myCollection');
sub.on('message', (channel, data) => {
// this is the callback you talked about
console.log(`${channel} is now ${data}`);
});
// ... later on ...
pub.publish('myCollection', [1,2,3])
// console will output:
// myCollection is now [1,2,3]