在php中创建redis侦听器是否可行?

在php中创建redis侦听器是否可行?,php,javascript,listener,redis,socket.io,Php,Javascript,Listener,Redis,Socket.io,我在业余时间慢慢地钻研和学习redis,我对为订阅频道的网站创建“侦听器”以及在收到消息时更新网页的选项很感兴趣 现在,从我以前的actionscript时代到现在的javascript工作,我对这两种语言的侦听器的概念非常熟悉。然而,我的服务器端编程实际上只扩展到PHP、一点rails、一点python和pseudo node.js(我是一个经验丰富的javascript专家,了解node.js的功能) 由于我的主要技能是php,我想知道是否有可能使用php进行持久连接/套接字,从而在php中

我在业余时间慢慢地钻研和学习redis,我对为订阅频道的网站创建“侦听器”以及在收到消息时更新网页的选项很感兴趣

现在,从我以前的actionscript时代到现在的javascript工作,我对这两种语言的侦听器的概念非常熟悉。然而,我的服务器端编程实际上只扩展到PHP、一点rails、一点python和pseudo node.js(我是一个经验丰富的javascript专家,了解node.js的功能)

由于我的主要技能是php,我想知道是否有可能使用php进行持久连接/套接字,从而在php中创建侦听器

既然我猜这实际上是不可能的(或者相当于用锤子修复挡风玻璃的裂缝),那么服务器端有哪些选择?是否可以创建一个javascript侦听器,该侦听器使用到redis服务器(当前位于localhost上)的持久连接。Socket.io是我应该研究的东西吗

对于redis初学者的任何见解都将不胜感激


编辑我在这里找到了一篇很好的帖子,部分回答了我的问题


除了node.js之外,还有其他方法可以做同样的事情吗?我完全同意放弃php,并为这个项目尝试一些新的东西。不管怎么说,这是一个个人的问题。

如果你想做的只是订阅redis中的一个频道,然后在服务器端做一些工作,那么PHP似乎可以正常工作。粗略地看一眼和phpredis就可以看出,它们都允许订阅redis频道并注册回调,每当收到消息时就会触发回调。

redis中的发布/订阅机制要求订阅的客户端保持持久性,即“始终打开”,以便通过订阅接收更新

可以对PHP脚本/应用程序进行后台程序化,但这并不理想,也不是PHP的核心能力之一

我建议寻找另一种解决方案。如果你发现你提到的No.js+ReiS+Pub/Sub帖子很有说服力,也许你应该更强烈地考虑它。
<>你也可以考虑重新设计你的ReISS存储数据。也许一个可以“弹出”项目的集合可以满足相同的目的,而不需要使用redis pub/sub。

Github上Predis源代码中的示例是您试图实现的不同PHP实现。

我不太明白您想要实现什么。由于PHP是服务器端的,页面将在页面加载时更新。如果您仍在寻找事件/观察者类型的机制,则可以使用此机制:。这对你来说可能也很有趣。不过,我还是不太明白,你想做什么。@KristianHildebrandt我或多或少在探索实时更新类型的应用程序。。。然而,在做了大量挖掘之后,唯一真正的方法是使用node.js之类的东西来构建它,而node.js是为使用监听器而构建的。不管怎样,谢谢你的链接@乔纳森科:请接受回答。谢谢你的提示!自从我发布这个问题以来,我或多或少对redis有了相当重要的了解。。。主要是通过从mysql->redis移植整个项目,并使用Predis作为中介。非常棒的软件,我真的很兴奋能更好地处理整个酒吧/酒吧方面的事情,看看能做些什么。