Javascript 如何使用node.js、sockets.io和redis在连接的客户端上触发事件?
好的,我之前问过一个关于我的选项的问题,我已经研究了sockets.io和redis,我非常喜欢我所看到的 无论如何,我希望有多个客户端连接到node.js服务器。然后,当我的redis db发生更改时,例如布尔值从0变为1,我希望所有node.js连接将此更新发送给所有客户端 我不是在寻找一些代码来循环和检查这种更改,我想知道当redis db中发生更改时,如何向特定客户机触发事件。任何psuedo代码来帮助我了解这一点,都会很棒。我也非常欣赏任何node.js代码,它展示了如何将事件与redis实例中的更改挂钩Javascript 如何使用node.js、sockets.io和redis在连接的客户端上触发事件?,javascript,node.js,nosql,websocket,redis,Javascript,Node.js,Nosql,Websocket,Redis,好的,我之前问过一个关于我的选项的问题,我已经研究了sockets.io和redis,我非常喜欢我所看到的 无论如何,我希望有多个客户端连接到node.js服务器。然后,当我的redis db发生更改时,例如布尔值从0变为1,我希望所有node.js连接将此更新发送给所有客户端 我不是在寻找一些代码来循环和检查这种更改,我想知道当redis db中发生更改时,如何向特定客户机触发事件。任何psuedo代码来帮助我了解这一点,都会很棒。我也非常欣赏任何node.js代码,它展示了如何将事件与red
干杯,Josh我不能为您编写任何node.js代码,但听起来您想要的正是Redis的发布/订阅功能的用途:
每个node.js客户端都会订阅一个通道,在那里他们会阻止/等待消息到达。无需循环/轮询。您无意中输入了伪代码。-很抱歉,我在完成问题之前按了enter键并发布了><我意识到我真的不知道伪代码如何工作。因为我的理解仅限于客户端连接、消息和断开连接时触发的事件,而不是服务器单独执行任何操作时触发的事件。@jezternz在redis上侦听,当redis说数据已更改时,在socket.io上向所有客户端广播该数据(这些客户端经常侦听该数据事件)我希望这能解决您的问题。是的,您可以使用。但结果并不比我的例子好。我使用这种方法唯一真正关心的是社交能力?使用这种方法同时连接数千个客户端是否效率低下?如果每个客户端都有多个订阅,情况如何?