我试图想到处理实时搜索网站的最佳方式。我能想出的唯一解决方案是每隔几秒钟检查一次服务器,以查找数据库中的新内容,但这对我来说似乎不太实际。php可以侦听mysql数据库更改或更新吗? ...思考实时,在这里实时搜索
回答
不,它不能,因为MySQL不能。您需要使用其他技术,可能包括消息队列或流式数据库。
AFAIK,当有事情发生时,无法告诉MySQL ping你的脚本。
轮询似乎是唯一可行的解决方案......
你认为多数民众赞成怎么做了吗? – 2010-05-22 08:27:24
@Derrick WTF? Twitter有很多解决方案。你不需要DB通知任何人有更新;它可能是发布新状态更新的同一个脚本负责分发新线程以通知其他方。 – Seb 2010-05-22 16:24:52
是的 - 但这不是一个Twitter应用程序。 – 2010-05-22 20:24:26
我没有玩过,但已经注意到,Symfony框架已经出台“事件通知” ......基本上,每次在应用程式的一部分进行插入或更新,它创建一个事件,并且其他代码段可以注册以“听”事件并触发。
这将全部在PHP级别,而不是数据库级别,但我认为你在找什么。
有关于symfony的事件,这里的好文章:http://www.symfony-project.org/blog/2009/02/21/using-the-symfony-event-system
用途是什么,你已经发送页面给用户后? 这个事件系统会ping用户并告诉他重新加载该站点吗? – user242294 2010-05-21 18:27:57
不,为了获取信息给用户,您必须从客户端进行轮询。尽管这些事件允许其他服务器端PHP代码基于MySQL数据库更改运行,但这是最初的问题。 – Nathan 2010-05-21 18:34:12
我将“实时搜索网站”解释为网站,每5(或任何)秒自动查询新的结果,然后将该数据粘贴到已有的结果列表中 – user242294 2010-05-21 18:47:09
即使PHP可能会如何u显示更新给用户,U必须查询服务器来显示结果。
唯一的办法就是你已经在想什么,每5秒钟查询一次服务器,。
-1为什么? :S – 2010-08-27 09:28:06
随着5.0.2的MySQL的支持触发器:http://dev.mysql.com/doc/refman/5.0/en/triggers.html
但不幸的是,我不知道MySQL的不够好,知道你是否可以做任何事情“有用”,在他们通知应用程序(在Oracle我想想着xp_)。至少你可以将一行写入单个类似审计的表中,这样你只需要在一个地方进行轮询。
酷似听起来像是礼仪方向上的一步,接下来是告诉mysql运行一个php脚本,然后在web浏览器上运行js来更新页面,我不明白twitter是如何做到的...... ? – 2010-05-22 08:26:09
你可以使用类似Gearman(它有一个MySQL interface)来推动你的PHP代码,当发生新的事情。也许你可以使用这些事件来构建一个包含所有最新信息的静态页面,并在客户端使用轮询来获取该静态页面。
虽然我还没有使用Gearman,所以关于这种设置的细节超出了我的想象。
很酷,谢谢我检查一下。 – 2010-08-27 21:09:04
我有一个我在5-6年前工作过的应用程序。我当时正在寻找类似的解决方案。这是我的推特前应用程序 - 我自己开发的网页没有刷新的短信。我有一种方式,当时我在投票...但至少我没有任何可怕的页面刷新。加...我不会
这导致我彗星服务器。那是我的答案。
我被引导认为gmail聊天使用真正的推技术以及反对投票。希望能带领你走向正确的方向。
- 1. 实时更新可搜索的数据库MYSQL和PHP
- 2. 关于数据库更改的实时更新通知MYSQL PHP
- 3. 我可以使用URL更改Firebase实时数据库吗?
- 4. 以对话框形式实现数据更改侦听器
- 5. 在数据库中更改表格时可以刷新gridview吗?
- 6. PHP实时更新
- 7. Laravel使用mysql实时更新数据
- 8. Firebase实时数据侦听器
- 9. 更新App时,identifierForVendor可以更改吗?
- 10. 更新时间戳PHP MySQL数据库
- 11. 彗星和PHP实时数据更新?
- 12. 收听MySQL中的数据库更改
- 13. Jquery实时搜索
- 14. SignalR在数据库更新后不会实时更新网站
- 15. 我可以使用ninject实时更改实现吗?
- 16. PHP实时搜索数组
- 17. 实时更新Web系统 - Ajax,PHP,MySQL
- 18. ASP.NET MVC 1,实时搜索和更新数据
- 19. 索引更新时可以查询Azure搜索吗?
- 20. 实时搜索,XML或SQL会更快吗?
- 21. 如何使用PHP在Firebase数据库上侦听数据更改?
- 22. 我在哪里可以找到更新的实时汇率?
- 23. php Dropdown实时更新
- 24. 如何使用php和mysql更新实时数据
- 25. 是否可以实时更改菜单?
- 26. 实时更改听写主题
- 27. PHP更新MySQL数据库
- 28. 使用php mysql进行实时搜索
- 29. 更新时间在mysql数据库
- 30. 实体框架:修改模型时如何更新数据库
那么你打算如何将数据发送给用户? – user242294 2010-05-21 18:29:47
您是否考虑过使用启用彗星的数据库或守护进程? – 2010-05-22 00:29:13
@Derrick你有解决吗? – 2011-09-30 13:46:10